Как изменить альфа-значение флажка с настроенным изображением? - PullRequest
1 голос
/ 30 июня 2011

Я хочу изменить альфа-значение флажка в списке.Я могу изменить изображение для флажка.Но не может изменить его альфа-значение.

layout / 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>

drawable / 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);

Оба не могут изменить значение альфа.

Я думаюнеправильный способ получения отрисовываемого объекта из моего настраиваемого флажка: holder.myCheckBox.getBackground () - он не может получить форму отрисовываемого объекта getBackground (), так как я установил настраиваемое отрисовываемое для кнопки android :. Как я могу получить рисованную кнопку android:

Кто-нибудь может дать мне несколько советов?

...