制作参数矢量drawable

时间:2016-09-13 11:13:35

标签: android android-vectordrawable

是否可以在Android中制作参数矢量绘图?例如,在XML中定义复杂形状,然后根据应用程序状态以编程方式更改其颜色和形状。

1 个答案:

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