在Android XML中创建这个简单的形状是可能的吗?

我正尝试在Android XML中创建以下简单形状:

只是一个矩形与三角形组合形成一个箭头。 该形状应该用作导航按钮背景。

在Windows Phone上,在XAML中创建此形状将不成问题,但Android的XML绘图功能似乎受到了更多限制。

我试图用普通的矩形作为“body”创建一个可绘制的图层列表,并将矩形旋转为三角形。 只要三角形与边框对齐,通过旋转矩形创建三角形就可以正常工作。 只要我尝试将三角形移动/平移到左侧(到主体/框的末端),三角形不再是三角形,当然只是一个旋转的矩形...有没有什么方法可以剪掉旋转矩形的一半,并将其移动到XML中的框的结尾?

当然,这可以在Code / Java中完成,但我想知道它是否也可以使用XML。

我需要这种按钮的尺寸很多,使用XML drawable会比使用数十个PNG更好(从我的角度来看)。


试试这个自定义形状:

Shape shape = new Shape() {
    Path path = new Path();
    @Override
    protected void onResize(float width, float height) {
        path.reset();
        path.lineTo(width - height / 2, 0);
        path.lineTo(width, height / 2);
        path.lineTo(width - height / 2, height);
        path.lineTo(0, height);
        path.close();
    }
    @Override
    public void draw(Canvas canvas, Paint paint) {
        canvas.drawPath(path, paint);
    }
};
ShapeDrawable d = new ShapeDrawable(shape);
d.getPaint().setColor(0xff6699bb);

someView.setBackgroundDrawable(d);

我不能评论,所以会回答..我喜欢layerlist的想法。 例如:

Android自定义形状

和triange示例:http://looksok.wordpress.com/2013/08/24/android-triangle-arrow-defined-as-an-xml-shape/

结合这些答案可能有效。

链接地址: http://www.djcxy.com/p/20953.html

上一篇: It is possible to create this simple shape in Android XML?

下一篇: Apple Swift Datepicker as keyboard