0
这张专辑解释了我想做的事,和我遇到的问题时,载体不调整:http://imgur.com/a/HM3K2问题调整矢量绘制编程
这是我已经采取了尝试缩放的方法矢量,但它似乎并没有工作:
private Bitmap drawCirclePreview(int color, Shape square) {
//An object from my 'VectorOverlay' class which resolves the resource...
VectorOverlay circleOverlay = new VectorOverlay(color);
//...and returns a drawable
Drawable drawable = circleOverlay.drawCircleOverlay(this);
Bitmap bitmap;
//Make bitmap with same dimensions as the square (redundant, I know)
bitmap = Bitmap.createBitmap(square.getWidth(), square.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
drawable.draw(canvas);
return bitmap;
}
内正在使用的VectorOverlay方法:
public Drawable drawCircleOverlay(Context context){
Drawable drawable = ContextCompat.getDrawable(context, R.drawable.circle_overlay);
drawable = DrawableCompat.wrap(drawable);
DrawableCompat.setTint(drawable, color);
return drawable;
然后,我创建图层新LayerDrawable:
private void drawSquarePreview(){
Drawable[] layers = new Drawable[2];
//[...] omitting code for when the square object is created and drawn
layers[0] = new BitmapDrawable(squareBmp);
layers[1] = new BitmapDrawable(drawCirclePreview(Color.parseColor("#4af9d8"), square));
LayerDrawable layerDrawable = new LayerDrawable(layers);
ivPreview.setImageDrawable(layerDrawable);
}
然而,结果仍然如图所示。我很难过。我一直在寻找答案很长一段时间,我仍然无法找到解决方案。任何帮助将不胜感激。
其他信息:我正在使用支持库来处理旧API上的矢量绘图。
谢谢。我猜我可以添加条纹在另一个文件或低于相同的形状,并将它们添加到我的LayerDrawable中的另一个层? – Joel