我有一个视图,我设置了一个选择器背景,应该达到触摸。确实如此,但仅限于4.x.在2.3它只是没有对触摸作出反应。可能是什么问题呢? 这是布局:
<ImageView
android:id="@+id/imageView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:src="@drawable/idee_baden"
android:scaleType="centerInside" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:background="@drawable/background_selector" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_margin="8dp"
android:ellipsize="end"
android:padding="4dp"
android:singleLine="true"
android:textAppearance="@style/SmallTextBold"
android:textColor="#ffffff" />
</RelativeLayout>
这是background_selector.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/blue9"
android:state_pressed="true" />
<item android:drawable="@drawable/black9" />
</selector>
答案 0 :(得分:1)
自API 1以来已启用此功能 - 因此我认为这与支持的操作系统级别无关,而是与选择器代码格式不佳有关。
我认为您的选择器格式不正确。我认为你的'item'标签部分应该更完整地填写,你应该有更多。
这是我使用的选择器之一(更完整,但仍然缺少关于焦点与按下的一些选项)。请记住,订单很重要(这是从上到下评估):
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:drawable="@drawable/circle_button_on"
android:state_focused="true"
android:state_pressed="true"/>
<item
android:drawable="@drawable/circle_button_on"
android:state_focused="false"
android:state_pressed="true"/>
<item
android:drawable="@drawable/circle_button_off"
android:state_focused="true"
android:state_pressed="false"/>
<item
android:drawable="@drawable/circle_button_off"
android:state_focused="false"
android:state_pressed="false"/>
</selector>