4

私のレイアウト 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。しかし、leftImageBtnImageView のどの部分に触れても、機能がトリガーされません。私が欠けているものの手がかりはありますか??

編集::

左隅に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>
4

1 に答える 1

3

leftBtnWrapper のクリックで関数を完全にトリガーしたい場合は、 leftBtnWrapper に次のコードを追加しないでください。

android:clickable="true"
android:onClick="functionName"

そして取り除く

android:clickable="true"

すべての子レイアウトから。

于 2013-01-09T07:36:27.170 に答える