我的布局 XML 如下:
<LinearLayout
android:id="@+id/leftBtnWrapper"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:paddingRight="25dp"
android:clickable="true"
android:orientation="horizontal"
android:gravity="center_vertical"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:orientation="vertical"
android:gravity="center"
android:duplicateParentState="true">
<ImageView
android:id="@+id/leftImageBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/btn_navbar"
android:layout_gravity="center_vertical"
android:padding="0dp"
android:clickable="true"
android:duplicateParentState="true"/>
</LinearLayout>
<View
android:layout_width="1.5dp"
android:layout_height="match_parent"
android:background="@drawable/ver_separator"
android:layout_marginLeft="1dip"
android:duplicateParentState="true"/>
我想在点击时触发一个功能leftBtnWrapper
。但是当我触摸 ImageView 的任何部分时leftImageBtn
,它不会触发我的功能。任何线索我错过了什么?
编辑::
通过在左上角采用 framelayout 并应用 frameLayout 的 onClick 来解决。布局如下::
<LinearLayout
android:id="@+id/leftBtnWrapper"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:clickable="true"
android:gravity="center_vertical"
android:orientation="horizontal" >
<ImageView
android:id="@+id/leftImageBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:background="@drawable/btn_navbar"
android:clickable="true"
android:duplicateParentState="true"
android:layout_margin="8dp" />
<View
android:layout_width="1.5dp"
android:layout_height="match_parent"
android:background="@drawable/ver_separator"
android:duplicateParentState="true" />
</LinearLayout>
<FrameLayout
android:id="@+id/leftBtnLayer"
android:layout_width="70dp"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:background="@android:color/transparent"
android:clickable="true" >
</FrameLayout>