以下问题无法解决我的问题,如下所述。
我用的是ConstraintLayout
。我的目的是显示一个包含按钮的SVG图像:
每次我试图显示这个图像时,要么绘制得非常严重,要么严重裁剪或模糊。
一个例子是:
它应该如下所示:
ImageView
属性src
:我使用了每种比例类型,有和没有允许设置自定义比例的属性ImageView
的src
RelativeLayout
重复:所以我没有使用SVG图像但是它的JPEG版本,甚至这种方式导致了不好的结果因此,鉴于所有这些解释(参见:部分背景)并给出上述插图,您将如何继续显示此图像?
使用java代码
ColorDrawable colorDrawable = new ColorDrawable(Color.parseColor("#888888")); // bg color
Drawable vDrawable = AppCompatResources.getDrawable(this, R.drawable.ic_vector_star); // vector drawable
if (vDrawable != null) {
Bitmap bitmap = Bitmap.createBitmap(vDrawable.getIntrinsicWidth(), vDrawable.getIntrinsicHeight(),
Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
vDrawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
vDrawable.draw(canvas);
BitmapDrawable bitmapDrawable = new BitmapDrawable(getResources(), bitmap);
bitmapDrawable.setTileModeXY(Shader.TileMode.REPEAT, Shader.TileMode.REPEAT); // set repeat
LayerDrawable drawable = new LayerDrawable(new Drawable[]{colorDrawable, bitmapDrawable});
findViewById(R.id.frameLayout).setBackground(drawable);
}