2012-07-16 42 views
1

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

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

回答

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); 

一个简单的解决方案。如果你想更简单的解决方案,使用位图,并使用矩阵将其以特定方向

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); 
指向旋转