Android 选择器背景不工作?
使用选择器作为视图的背景,如以下代码所示: my_selector.xml:Android 选择器背景不工作?,android,selector,Android,Selector,使用选择器作为视图的背景,如以下代码所示: my_selector.xml: <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android" > <item android:state_pressed="true" android:drawable="@drawable/cell_bg_e" />
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_pressed="true" android:drawable="@drawable/cell_bg_e" />
<item android:state_checked="true" android:drawable="@drawable/cell_bg_e" />
<item android:state_selected="true" android:drawable="@drawable/cell_bg_e" />
<item android:drawable="@drawable/cell_bg_n_trans" />
</selector>
除了某些分辨率为800x480的设备(舔htc g12),它适用于所有设备
为什么?您应该确保将此选择器设置为可绘制背景的视图是可单击的 您可以在以下代码中执行此操作:
public MyView(Context context, CharSequence text, Drawable drawable) {
super(context);
setClickable(true);
setBackgroundResource(R.drawable.my_selector);
}
或者,在XML中:
<MyView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/my_selector"
android:clickable="true"
android:orientation="horizontal"/>
视图不是可单击的吗?是的,它是可单击的。单击它将导致一些操作,如启动活动
<MyView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/my_selector"
android:clickable="true"
android:orientation="horizontal"/>