我想更改列表视图中复选框的alpha值。我可以更改复选框的图像。但不能改变它的alpha值。
布局/ list_item.xml
<LinearLayout android:id="@+id/col_1"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical">
<CheckBox android:id="@+id/myCheckBox"
android:layout_height="wrap_content" android:layout_width="wrap_content"
android:button="@drawable/bell_checkbox" />
</LinearLayout>
抽拉/ bell_checkbox.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/bell" android:state_checkable="true" />
<item android:drawable="@drawable/bell" android:state_checkable="false" />
<item android:drawable="@drawable/bell" android:state_checked="true" />
<item android:drawable="@drawable/bell" android:state_checked="false" />
<item android:drawable="@drawable/bell" android:state_enabled="true" />
<item android:drawable="@drawable/bell" android:state_enabled="false" />
<item android:drawable="@drawable/bell" />
</selector>
以下代码有效,但不是我想要的
AlphaAnimation alpha = new AlphaAnimation (1f, 0.5f); // from 100% visible to 50%
alpha.setDuration (1000); // 1 second, or whatever you want
alpha.setFillAfter(true);
holder.myCheckBox.startAnimation(alpha);
我试过了:
holder.myCheckBox.getBackground().setAlpha(50);
或
holder.myCheckBox.getBackground().getCurrent().setAlpha(50);
两者都无法改变alpha值。
我认为从自定义复选框中获取可绘制对象的方式不正确: holder.myCheckBox.getBackground() - 当我将自定义drawable设置为android:按钮时,它无法获取可绘制对象形式的getBackground()。
如何获得android:button的drawable?
有人能给我一些提示吗?