Reputation: 3261
My layout XML is as follow :
<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"/>
I want to trigger a function on click of leftBtnWrapper
. But when I touch on any part of leftImageBtn
ImageView, it doesn't trigger my function. Any clue what I am missing ??
EDIT::
Solved by taking framelayout on left corner & applying onClick of frameLayout. Layout is as follow ::
<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>
Upvotes: 4
Views: 3799
Reputation: 837
If you want to trigger a function on click of leftBtnWrapper entirely, why dont you just add the following to your leftBtnWrapper
android:clickable="true"
android:onClick="functionName"
and remove
android:clickable="true"
from all the child layouts.
Upvotes: 3