-2

バックグラウンド xml リソースをリストビュー アイテム xml レイアウトに追加した後、リスト ビュー アイテムがクリックできなくなりました。forum_box_bi.xml現在の設定を失うことなく、リソースにonclick 背景色を追加しますか?

これはリストビュー項目の xml レイアウトです

<LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#e3e4e6"
        android:orientation="vertical" >

<LinearLayout
        android:id="@+id/thread_bit_box"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="3dip"
        android:layout_marginTop="3dip"
        android:layout_marginLeft="7dip"
        android:layout_marginRight="7dip"
        android:background="@drawable/forum_box_bit"
        android:padding="5dip" 
        android:orientation="vertical" >

<!--  Post Aavatar + time + username  -->
 <RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">

        <ImageView
            android:id="@+id/postbit_useravatar"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:clickable="true"
            android:focusable="true"
            android:src="@drawable/no_avatar" />

        <TextView
            android:id="@+id/postbit_username"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="30dip"
            android:layout_marginRight="5dip"
            android:layout_marginTop="5dip"
            android:layout_toLeftOf="@+id/postbit_useravatar"
            android:ellipsize="end"
            android:singleLine="true"
            android:text="sss"
            android:textDirection="rtl"
            android:gravity="right"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:textColor="#000000" />

        <ImageView
            android:id="@+id/postbit_boxmenu"
            android:clickable="true"
            android:focusable="true"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:src="@drawable/mini_menu" />

        <TextView
            android:id="@+id/postbit_timestamp"
            android:layout_marginRight="5dip"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="#b9b9b9"
            android:layout_toLeftOf="@+id/postbit_useravatar"
            android:layout_below="@+id/postbit_username"
            android:text="timestamp"
            android:textAppearance="?android:attr/textAppearanceSmall" />

     </RelativeLayout>  
<!-- // Post User Aavatar + time + username -->




   </LinearLayout>


</LinearLayout>

これは forum_box_bit.xml です

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
    <shape android:shape="rectangle">
    <solid android:color="#c4c5c6" />
    <corners android:radius="1dp"/>
    </shape>
</item>
<item android:bottom="2dp">
    <shape android:shape="rectangle">
    <solid android:color="#ffffff"/>
    <corners android:radius="1dp"/>
    </shape>
</item>
</layer-list>
4

1 に答える 1

1

通常、セレクターを背景として設定する必要があります。「forum_box_bit」とは何ですか、これはセレクターですか? 次の例のように、ドローアブル フォルダーに定義しない場合:

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

       <item 
          android:state_pressed="false"
          android:drawable="@drawable/default_shape"></item>
       <item
          android:state_pressed="true"
          android:drawable="@drawable/pressed_shape"></item>

       <item 
         android:drawable="@drawable/default_shape"></item>

    </selector>

画像のような背景を定義したり、このセレクターの xml シェイプを作成したりできます。

編集

一部の形状では、drawable フォルダー内で押された状態の形状と押されていない状態の形状を定義します。

押された (pressed_shape.xml):

    <?xml version="1.0" encoding="utf-8"?>
       <shape xmlns:android="http://schemas.android.com/apk/res/android" >
         <gradient 
            android:startColor="@color/dark_orange_pressed"
            android:endColor="@color/light_orange_pressed"/>
       <corners 
          android:radius="5dp"/>
       <stroke 
         android:color="@color/light_gray"
         android:width="2dp"/>
    </shape>

プレスされていない (default_shape.xml):

    <?xml version="1.0" encoding="utf-8"?>
        <shape xmlns:android="http://schemas.android.com/apk/res/android" >
        <gradient 
            android:startColor="@color/dark_orange"
            android:endColor="@color/light_orange"/>
    <corners 
            android:radius="5dp"/>
    <stroke 
            android:color="@color/light_gray"
            android:width="2dp"/>
    </shape>

色を定義するには、値フォルダー内に xml を作成します。「colors.xml」という名前を付ける必要があります。

    <?xml version="1.0" encoding="utf-8"?>
       <resources>

         <color name="dark_orange">#f6801c</color>
         <color name="light_orange">#f1a84a</color>
         <color name="light_gray">#cfcfcf</color>
         <color name="dark_orange_pressed">#b07d3b</color>
         <color name="light_orange_pressed">#d29648</color>

       </resources>
于 2013-08-04T19:35:57.870 に答える