4

ボタンがクリックできないときにボタンの背景を変更したい.そのためにセレクターを使用しましたが、ボタンがクリックできないままの場合は機能しません。

これはセレクターファイルです:

<?xml version="1.0" encoding="utf-8"?>
<selector
  xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_enabled="false"  android:drawable="@drawable/button_lightgrey" />
    <item  android:state_pressed="true" android:state_enabled="true" android:drawable="@drawable/button_blue"/> 
    <item android:state_focused="true" android:drawable="@drawable/button_darkgreen"  /> 
    <item  android:drawable="@drawable/button_lightgreen" /> 
</selector> 

これは、このセレクター ファイルを使用しているボタンです。

<Button
                android:id="@+id/PrevButton"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_centerInParent="true"
                android:layout_marginLeft="5.0dip"
                android:layout_weight="1.0"
                android:background="@drawable/ibtn"
                android:onClick="onPrevButtonClick"
                android:text="Prev" />

助けてください.他のすべての機能はセレクターファイルで機能していますが、クリックできないボタンのケースのみが機能していません.ありがとう

4

3 に答える 3

2

button.setClickable(false) の代わりに button.setEnabled(false) を実行し、同じセレクタ xml を使用します。

于 2012-09-11T09:36:55.227 に答える
0

これはあなたを助けるかもしれません

セレクターファイルで問題が発生していると思いますが、以下のようなセレクターファイルを試してください

必要に応じて画像を変更してください

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/img_btn_repeat_pressed"
        android:state_focused="true"
        android:state_pressed="true" />
    <item android:drawable="@drawable/img_btn_repeat_pressed"
        android:state_focused="false"
        android:state_pressed="true" />
    <item android:drawable="@drawable/img_btn_repeat_pressed" android:state_focused="true" />
    <item android:drawable="@drawable/img_btn_repeat"
        android:state_focused="false"
        android:state_pressed="false" />
</selector>
于 2012-09-11T09:13:37.583 に答える
0

以下でセレクターを変更するだけですselector.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- Non focused states -->
    <item android:state_focused="false" android:state_selected="false"
        android:state_pressed="false" android:drawable="@android:color/transparent" />
    <item android:state_focused="false" android:state_selected="true"
        android:state_pressed="false" android:drawable="@drawable/round_corner_button_sort" />

    <!-- Focused states -->
    <item android:state_focused="true" android:state_selected="false"
        android:state_pressed="false" android:drawable="@drawable/round_corner_button_sort" />
    <item android:state_focused="true" android:state_selected="true"
        android:state_pressed="false" android:drawable="@drawable/round_corner_button_sort" />

</selector>

これがお役に立てば幸いです。

編集

あなたのコメントによると、状態であるボタンにセレクターを使用できません false( button.setclickable(false);) この状態では、あなたは使用できませんselector

于 2012-09-11T09:11:51.040 に答える