我有一个可绘制的,可点击的。我将它从资源加载到var:
Drawable mDrawable;
mDrawable = ResourcesCompat.getDrawable(getResources(), R.drawable.clickable_d, null);
它是"可点击的可绘制",因此它在点击时不具有不同的状态图像。
clickable_d:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@drawable/clickable_d_pressed" />
<item android:state_focused="true"
android:drawable="@drawable/clickable_d_pressed" />
<item android:drawable="@drawable/clickable_d_not_pressed" />
</selector>
我想将此应用于20 ImageButton
,因此我尝试将已加载的 mDrawable 设置为所有这些。但紧迫状态只适用于最后一个(20,因为我在fori循环中这样做) - 每次按任何ImageButton
时,只有最后一个变为&#34;按下&#34;
如果我将新加载的资源(getResources(), R.drawabl..
)设置为每个ImageView,它工作正常。然而,加载20倍相同的drawable并不是最佳化...
如何只加载一次mDrawable,为所有ImageView设置并使其更改状态有效?