我有一个带有自定义视图的ActionBarSherlock的应用程序,该视图具有一些可点击的线性布局,但它们在视觉上无法响应点击/点击。 自定义视图如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:orientation="horizontal"
android:gravity="right" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:duplicateParentState="true"
android:layout_gravity="right"
android:background="@drawable/toolbar_button_background_drawable"
android:padding="10dp"
android:gravity="center" >
<TextView
android:duplicateParentState="true"
android:id="@+id/decrease_fontsize"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:layout_marginRight="4dp"
android:clickable="true"
android:text="-A"
android:textColor="#333"
android:textSize="14sp" />
</LinearLayout>
</LinearLayout>
使用以下drawable:(toolbar_button_background_drawable.xml)
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/hover" android:state_selected="true" />
<item android:drawable="@drawable/hover" android:state_pressed="true" />
</selector>
hover.9.png 只是一个背景......
但是当我点击此文本时,会触发onclick侦听器,但在视觉上不会更改LinearLayout
答案 0 :(得分:0)
当您将android:duplicateParentState="true"
设置为视图时,视图将从其直接父级而非自身获得其可绘制状态(聚焦,按下等)。因此parent Layout
应为clickable
。
只需将android:clickable="true"
添加到内部parent layout
的{{1}}。