是否可以在Android中制作参数矢量绘图?例如,在XML中定义复杂形状,然后根据应用程序状态以编程方式更改其颜色和形状。
答案 0 :(得分:0)
在xml中
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/circle_bg">
<shape android:shape="oval" >
<solid android:color="@color/white" />
<corners android:radius="40dp" />
</shape>
</item>
</layer-list>
在java类
中 view.setBackground(ContextCompat.getDrawable(getActivity(), R.drawable.circle_xml));
LayerDrawable bgDrawable = (LayerDrawable) view.getBackground();
final GradientDrawable shape = (GradientDrawable) bgDrawable.findDrawableByLayerId(R.id.circle_bg);
shape.setColor(Color.RED);