web-dev-qa-db-ja.com

ボタンセレクターでボタンを無効にする

ボタンを押すとボタンの画像を変更するボタンセレクターがあります。ボタンが無効になっているときの画像も設定しました。プログラムでボタンを無効にしようとしましたが、無効になっているボタンの画像が表示されません。 button_selectorは正しいですか?

<item Android:drawable="@drawable/red_btn_bg_disabled" Android:state_enabled="false"/> <!-- disabled -->

<item Android:drawable="@drawable/red_btn_bg_pressed" Android:state_pressed="true"/> <!-- pressed -->
<item Android:drawable="@drawable/red_btn_bg_pressed" Android:state_focused="true"/> <!-- focused -->

<item Android:drawable="@drawable/red_btn_bg"/> <!-- default -->

コードでmButton.setEnabled(false)を使用して、ボタンを無効にしています

17
DMC

これを試してみてください。プロジェクトを確認するために、サンプルプロジェクトを1つアップロードしました。

セレクター.xml

   <selector xmlns:Android="http://schemas.Android.com/apk/res/Android">

        <item Android:drawable="@drawable/btn_disable" Android:state_enabled="false"/>
        <item Android:drawable="@drawable/btn_pressed" Android:state_pressed="true"/>
        <item Android:drawable="@drawable/btn_normal"/>

    </selector>

このセレクターをボタンで次のように使用します

<Button
         Android:id="@+id/button1"
         Android:layout_width="wrap_content"
         Android:layout_height="wrap_content"
         Android:layout_alignLeft="@+id/button1"
         Android:layout_below="@+id/button1"
         Android:layout_marginTop="30dp"
         Android:background="@drawable/selector"
         Android:enabled="false"
         Android:text="Disable Button" />

サンプルコードリンク https://www.dropbox.com/s/lydkog10rkujbsa/ButtonSelector.rar

33
Likhit Jagatiya

これを試して。

<item Android:drawable="@drawable/red_btn_bg_pressed" Android:state_pressed="true"/> <!-- pressed -->

<item Android:drawable="@drawable/red_btn_bg_disabled" Android:state_enabled="false"/> <!-- disabled -->

<item Android:drawable="@drawable/red_btn_bg"/> <!-- default -->
3
Igor Morais