1

是否可以创建由形状组合组成的复合 XML?本质上,我想使用 xml 形状创建一个箭头——这可能吗?

如果是这样,最好的方法是什么?

4

1 回答 1

1

我假设您正在画布上绘制该形状。您可以在 XML 中执行此操作,但维护起来会非常困难。

这是Java代码中的一个更简单的解决方案

Paint paint = new Paint();
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeWidth(2);
paint.setColor(BLACK);
Path path = new Path();
path.moveTo(0, -10);
path.lineTo(5, 0);
path.lineTo(-5, 0);
path.close();
path.offset(10, 40);
canvas.drawPath(path, paint);
path.offset(50, 100);
canvas.drawPath(path, paint);
// offset is cumlative
// next draw displaces 50,100 from previous
path.offset(50, 100);
canvas.drawPath(path, paint);

如果您想要更简单的解决方案,请使用位图并使用 Matrix 旋转它以指向特定方向

ImageView image = (ImageView) findViewById(R.id.bitmap_image);
Bitmap bMap = BitmapFactory.decodeResource(getResources(), R.drawable.test);
Matrix mat = new Matrix();
mat.postRotate(90);
Bitmap bMapRotate = Bitmap.createBitmap(bMap, 0, 0, bMap.getWidth(), bMap.getHeight(), mat, true);
image.setImageBitmap(bMapRotate);
于 2012-07-16T06:04:34.700 回答