我正在尝试在Android XML中创建以下简单形状:
只是一个矩形与三角形组合形成一个箭头。形状应该用作导航按钮背景。
在Windows Phone上,在XAML中创建此形状没有问题,但Android的XML绘图功能似乎更加有限。
我尝试使用普通矩形创建一个图层列表drawable作为" body"并将矩形旋转为三角形。只要三角形与边框对齐,通过旋转矩形创建三角形就可以正常工作。一旦我尝试向左移动/平移三角形(到主体/盒子的末尾),三角形不再是三角形,但当然只是一个旋转的矩形...有没有办法剪掉旋转矩形的一半,并将其移动到XML格式的框末尾?
当然这可以在Code / Java中完成,但我想知道它是否也可能是XML。
我需要这种具有多种不同尺寸的按钮,使用XML drawable比使用数十种PNG要好得多(从我的观点来看)。
答案 0 :(得分:3)
尝试这个自定义形状:
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);
答案 1 :(得分:0)
我无法评论所以会回答..我喜欢图层列表的想法。例如:
和triange示例:http://looksok.wordpress.com/2013/08/24/android-triangle-arrow-defined-as-an-xml-shape/
将这些答案结合起来可能有效。