2011-06-02 24 views
16

レイアウトと画像表示にセレクタを使用したいのですが、私のためには機能しません。 イメージビューをイメージボタンまたはボタンに変更したときに正常に動作します。すべてのヘルプは大セレクタがレイアウトと画像表示で動作しません

<?xml version="1.0" encoding="utf-8"?> 
<selector 
    xmlns:android="http://schemas.android.com/apk/res/android"> 
    <!-- When selected, use grey --> 
    <item 
     android:state_pressed="true" 
     android:drawable="@drawable/bg" 
     /> 
    <!--<item 

     android:drawable="@drawable/bg" 
     android:state_focused="true"/> 
    When not selected, use white--> 

    <item 
     android:drawable="@drawable/bg_01" /> 
</selector> 

-> The layout xml : 
<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:orientation="vertical" 
    android:layout_height="fill_parent"> 
    <ImageButton 
     android:layout_width="100dp" 
     android:layout_height="50dp" 
     android:text="layout tester" 
     android:textColor="#000000" 
     android:textStyle="bold" 
     android:paddingTop="10dp" 
     android:src="@drawable/testselector" 
     android:layout_gravity="center_horizontal" /> 
    </LinearLayout> 
+0

あなたの正確な問題は何ですか...? –

+0

レイアウトがセレクタをサポートしていないと思います(わかりません)。より良い形状のプロパティを試してみてください。セレクタの理由は? – David

+0

誰かが完全な解決策を求めている場合は、このリポジトリをチェックしてください:https://github.com/shamanland/AndroidLayoutSelector「ToggleButton」のようにカスタムのクリック可能/チェック可能な '' 'LinearLayout'''があります。 –

答えて

59

私は今この問題に遭遇しました。 LinearLayoutをクリック可能に設定する必要があります。あなたはどちらか

android:clickable="true" 

それとも

yourLinearLayout.setClickable(true); 
+1

私にこの厄介な問題があった:) – Warpzit

+0

恐ろしい!どうもありがとうございます! –

+0

素晴らしい! 、ありがとう、あまりにも男! :) –

3

あなたの代わりにlastread_ok &リットルのあなたのイメージを使用することができ、この

<selector 
    xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_focused="true" 
      android:state_pressed="false" 
      android:drawable="@drawable/lastread_ok" /> 
    <item android:state_focused="true" 
      android:state_pressed="true" 
      android:drawable="@drawable/lastread_ok" /> 
    <item android:state_focused="false" 
      android:state_pressed="true" 
     android:drawable="@drawable/lastread_ok_selected" /> 
    <item android:drawable="@drawable/lastread_ok" /> 
</selector> 

を試してみてください。..ここ

は、私が使用XMLSです..事前に感謝を理解されるであろうastread_ok_selected

1

代わりImageViewの自分自身のための線形レイアウトとsetclicklistenerのImageViewののIDを使用してコードで、それが動作するとXMLでこれを行うことができます!

0

私にとっては、レイアウトに属性android:clickableを割り当てずに、代わりにImageViewに割り当てることができました。私は、イメージをクリック可能にすることを望みました。レイアウトを含むのではありません。

0

あなたはImageViewbackground

または

ImageButtonsrcを変更し、alse ImageViewの中android:clickable="true"属性を記述する必要があります。

関連する問題