如何引用可绘制的形状并从java文件中更改其颜色?

时间:2017-06-28 05:32:01

标签: java android

我在circle.xml中有一个形状

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval"
    >
    <solid android:color="@color/colorAccent" />
    <size
        android:width="200dp"
        android:height="200dp" />
    <corners android:radius="100dp" />
</shape>

我如何从java中引用它并改变它的颜色?

1 个答案:

答案 0 :(得分:1)

尝试在没有xml的情况下在java中创建形状。

GradientDrawable shapeDrawable= (GradientDrawable) ContextCompat.getDrawable(this,R.drawable.shape);
shapeDrawable.setColor(getResources().getColor(R.color.colorPrimary));
imageView.setImageDrawable(shapeDrawable);

或者你可以从xml中膨胀现有的形状并改变它的属性,如

ionic start myproject blank --type ionic1