在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?