我在Android中遇到了VectorDrawable的问题.我有一个矢量可绘制文件(.xml),我想在位图上绘制它.我设法加载这个文件并在位图上绘制它.我可以改变它的填充颜色,但问题是我不能改变它的笔触和颜色.
任何帮助将不胜感激!
谢谢!
这是可绘制的文件:
这是我加载和填充蓝色形状的方式:
Drawable drawable = getResources().getDrawable(R.drawable.graph_rounded_rectangle); drawable.setBounds(0, 0, width, height); drawable.setColorFilter(new PorterDuffColorFilter(getResources().getColor(R.color.blue), PorterDuff.Mode.MULTIPLY)); drawable.draw(canvas);
Filipe Bezer.. 9
正如Chris Banes在他的博客中所说,您可以使用支持库为您的drawable着色,并使用以下代码:
Drawable drawable = ContextCompat.getDrawable(mContext, R.drawable.ic_asset); // Wrap the drawable so that future tinting calls work // on pre-v21 devices. Always use the returned drawable. drawable = DrawableCompat.wrap(drawable); // We can now set a tint DrawableCompat.setTint(drawable, Color.RED); // ...or a tint list DrawableCompat.setTintList(drawable, myColorStateList); // ...and a different tint mode DrawableCompat.setTintMode(drawable, PorterDuff.Mode.SRC_OVER);
Context.. 5
尝试像这样添加group
您的内容xml
:
参考这里。
正如Chris Banes在他的博客中所说,您可以使用支持库为您的drawable着色,并使用以下代码:
Drawable drawable = ContextCompat.getDrawable(mContext, R.drawable.ic_asset); // Wrap the drawable so that future tinting calls work // on pre-v21 devices. Always use the returned drawable. drawable = DrawableCompat.wrap(drawable); // We can now set a tint DrawableCompat.setTint(drawable, Color.RED); // ...or a tint list DrawableCompat.setTintList(drawable, myColorStateList); // ...and a different tint mode DrawableCompat.setTintMode(drawable, PorterDuff.Mode.SRC_OVER);
尝试像这样添加group
您的内容xml
:
参考这里。