我想使用选择器进行布局和图像视图。但它不适用于我。
当我将图像视图更改为图像按钮或按钮时,它工作正常。任何帮助将不胜感激..提前感谢..
这是我使用的xmls ..
<?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/bg"
/>
<item
android:drawable="@drawable/bg_01" />
</selector>
布局xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:orientation="vertical"
android:layout_height="fill_parent">
<ImageButton
android:layout_width="100dp"
android:layout_height="50dp"
android:text="layout tester"
android:textColor="#000000"
android:textStyle="bold"
android:paddingTop="10dp"
android:src="@drawable/testselector"
android:layout_gravity="center_horizontal" />
</LinearLayout>
答案 0 :(得分:62)
我刚才遇到了这个问题。您必须将LinearLayout设置为可单击。您可以使用
在XML中执行此操作android:clickable="true"
或使用
代码yourLinearLayout.setClickable(true);
答案 1 :(得分:4)
试试这个
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true"
android:state_pressed="false"
android:drawable="@drawable/lastread_ok" />
<item android:state_focused="true"
android:state_pressed="true"
android:drawable="@drawable/lastread_ok" />
<item android:state_focused="false"
android:state_pressed="true"
android:drawable="@drawable/lastread_ok_selected" />
<item android:drawable="@drawable/lastread_ok" />
</selector>
您可以使用图片代替lastread_ok
&amp;升astread_ok_selected
答案 2 :(得分:1)
使用imageview的id代替线性布局和setclicklistener for imageview本身,它会工作!!
答案 3 :(得分:0)
对我而言,它有助于不将属性android:clickable
分配给布局,而是分配给ImageView。我只是希望图像可以点击,而不是包含布局。
答案 4 :(得分:0)
您必须将src
更改为background
或
ImageButton
到ImageView
并在ImageView属性中写android:clickable="true"
。