我的应用程序中有一个listview,其中包含自定义视图。任何项目都有一个按钮,我将选择器设置为所有按钮的背景,但选择器根本不起作用。 布局我的适配器
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:weightSum="100"
>
<Button android:layout_width="0dp"
android:layout_height="wrap_content"
android:id="@+id/textview"
android:background="@drawable/up_item_list"
android:gravity="center"
android:layout_weight="60"
android:onClick="listener"
android:focusableInTouchMode="true"
android:clickable="true"
android:focusable="true"
android:padding="5dp"
/>
</LinearLayout>
我的活动布局
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:id="@+id/lay"
xmlns:android="http://schemas.android.com/apk/res/android"
>
<ListView android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/listview"
android:divider="@android:color/transparent"
android:dividerHeight="10dp"
>
</ListView>
</LinearLayout>
我的选择器
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="false" >
<shape
android:shape="rectangle" >
<gradient
android:startColor="#aaaaaa"
android:endColor="#ffffff"
android:angle="90"
android:type="linear"/>
<corners android:radius="5dp"/>
<stroke android:width="1dp" android:color="#000000" />
<padding android:left="1.5dp" android:right="1.5dp" android:top="10dp" android:bottom="10dp" />
</shape>
</item>
<item android:state_pressed="true" >
<shape android:shape="rectangle" >
<gradient android:startColor="#fa7905"
android:endColor="#fcc96b"
android:angle="90"
></gradient>
<corners android:radius="5dp"/>
<stroke android:width="1dp" android:color="#000000" />
<padding android:left="1.5dp" android:right="1.5dp" android:top="10dp"
android:bottom="10dp" />
</shape>
</item>
<item android:state_focused="true" >
<shape android:shape="rectangle" >
<gradient android:startColor="#fa7905"
android:endColor="#fcc96b"
android:angle="90"
></gradient>
<corners android:radius="5dp"/>
<stroke android:width="1dp" android:color="#000000" />
<padding android:left="1.5dp" android:right="1.5dp" android:top="10dp"
android:bottom="10dp" />
</shape>
</item>
</selector>
答案 0 :(得分:0)
将此代码写在一个单独的xml文件中,如..
<shape
android:shape="rectangle" >
<gradient
android:startColor="#aaaaaa"
android:endColor="#ffffff"
android:angle="90"
android:type="linear"/>
<corners android:radius="5dp"/>
<stroke android:width="1dp" android:color="#000000" />
<padding android:left="1.5dp" android:right="1.5dp"
android:top="10dp"
android:bottom="10dp" />
并保存一些文件..然后将其应用于选择器...类似..
<item android:drawable="@drawable/your file name" android:state_pressed="true"></item>
答案 1 :(得分:0)
// try this
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="false" >
<shape
android:shape="rectangle" >
<gradient
android:startColor="#aaaaaa"
android:endColor="#ffffff"
android:angle="90"
android:type="linear"/>
<corners android:radius="5dp"/>
<stroke android:width="1dp" android:color="#000000" />
<padding android:left="1.5dp" android:right="1.5dp" android:top="10dp" android:bottom="10dp" />
</shape>
</item>
<item android:state_enabled="true" android:state_focused="false" android:state_pressed="false" >
<shape android:shape="rectangle" >
<gradient android:startColor="#fa7905"
android:endColor="#fcc96b"
android:angle="90"
></gradient>
<corners android:radius="5dp"/>
<stroke android:width="1dp" android:color="#000000" />
<padding android:left="1.5dp" android:right="1.5dp" android:top="10dp"
android:bottom="10dp" />
</shape>
</item>
<item android:state_pressed="true" >
<shape
android:shape="rectangle" >
<gradient
android:startColor="#aaaaaa"
android:endColor="#ffffff"
android:angle="90"
android:type="linear"/>
<corners android:radius="5dp"/>
<stroke android:width="1dp" android:color="#000000" />
<padding android:left="1.5dp" android:right="1.5dp" android:top="10dp" android:bottom="10dp" />
</shape>
</item>
<item android:state_focused="true" >
<shape
android:shape="rectangle" >
<gradient
android:startColor="#aaaaaa"
android:endColor="#ffffff"
android:angle="90"
android:type="linear"/>
<corners android:radius="5dp"/>
<stroke android:width="1dp" android:color="#000000" />
<padding android:left="1.5dp" android:right="1.5dp" android:top="10dp" android:bottom="10dp" />
</shape>
</item>
</selector>