2016-12-13 6 views
0

ボタンスタイルのXMLが表示されていません。はなぜセレクタが押された状態

<?xml version="1.0" encoding="utf-8"?> 
<layer-list 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    > 
    <item> 
     <shape 
      xmlns:android="http://schemas.android.com/apk/res/android" 
      android:shape="rectangle" 
      > 
      <corners 
       android:radius="3dp" 
       /> 
      <gradient 
       android:angle="0" 
       android:startColor="#FF63a34a" 
       android:endColor="#FF477b36" 
       android:type="linear" 
       /> 
      <stroke android:width="3dip" android:color="#B1BCBE" /> 
     </shape> 
    </item> 
    <item 
     android:top="50dp" 
     > 

     <shape 
      android:shape="rectangle" 
      > 
      <solid 
       android:color="#40000000" 
       /> 
     </shape> 
    </item> 
</layer-list> 

ボタンのスタイルは、XMLを押す:

<?xml version="1.0" encoding="utf-8"?> 
<layer-list 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    > 
    <item> 
     <shape 
      xmlns:android="http://schemas.android.com/apk/res/android" 
      android:shape="rectangle" 
      > 
      <corners 
       android:radius="3dp" 
       /> 
      <gradient 
       android:angle="0" 
       android:startColor="#FF63a34a" 
       android:endColor="#FF63a34a" 
       android:type="linear" 
       /> 
      <stroke android:width="3dip" android:color="#4F5B5D" /> 
     </shape> 
    </item> 
</layer-list> 

ボタンスタイルの選択XML:

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:drawable="@drawable/button_round_style_pressed" android:state_selected="true"></item> 
    <item android:drawable="@drawable/button_round_style_pressed" android:state_pressed="true"></item> 
    <item android:drawable="@drawable/button_round_style"></item> 

</selector> 

AlertDialogカスタムXML:

<LinearLayout 
    android:layout_width="0dp" 
    android:layout_weight="0.2" 
    android:layout_height="wrap_content" 
    android:gravity="center" 
    android:background="@drawable/button_round_style_selector" 
    android:padding="10dp" 
    android:layout_marginRight="5dp"> 
    <ImageView 
     android:layout_width="40dp" 
     android:layout_height="40dp" 
     android:background="@drawable/home_white"/> 
</LinearLayout> 

どうして私はLinearLayoutを押してもセレクタが正しく動作しないのですか?ドロワブルを押した状態に変更していません。

+0

線形レイアウトのonClickListenerはありますか? AlertDialog XMLファイルによれば、クリック可能ではないためです。 –

+0

ボタンではないので、onClickListenerはありませんが、リスナーに関係なくXMLに基づいて背景が変更されるべきではありませんか? – Si8

+1

'android:clickable =" true "' –

答えて

1

LinearLayoutはデフォルトではクリックできません。clickableタグをtrueに設定するか、OnClickListenerを割り当てない限り、その背景は変更されません。

+0

ありがとうございます、LinearLayoutをクリック可能にしてみてください。それがそれを解決しました。 – Si8

関連する問題