【发布时间】:2018-09-06 15:24:57
【问题描述】:
我有以下 xml:
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval">
<solid android:color="@color/color_primary_dark" />
<size android:width="25dp" android:height="25dp" />
<stroke android:width="1dp" android:color="@android:color/white" />
</shape>
在我的应用程序的某个时刻,我像这样改变这个形状的颜色:
// priority_button has this shape as is src
(priority_button.drawable as GradientDrawable).setColor(ContextCompat.getColor(this, android.R.color.holo_orange_light))
问题是:如果我销毁该活动,然后重新打开同一个活动,此形状将保持我设置的最后一个颜色(在本例中为 android.R.color.holo_orange_light),我想重置该形状与 xml (R.color.color_primary_dark) 中定义的颜色相同。
由于我以编程方式设置颜色,我认为我正在更改 xml 本身,当重新打开活动并绘制视图时,它会获取我设置另一种颜色的 xml。
有什么方法可以重置 xml 值或类似的东西吗?
【问题讨论】: