2

我有一个如下所示的 UI 部分:

 <LinearLayout
            android:orientation="horizontal"
            android:minWidth="25px"
            android:minHeight="25px"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/linearLayout4">
            <ImageView
                android:src="@android:drawable/ic_menu_gallery"                    
                android:layout_width="0dp"
                android:layout_height="24dp"
                android:layout_weight="1" />
            <TextView
                android:text="Text"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:gravity="center" />
        </LinearLayout>

我在徘徊是否可以在线性布局上收听单击事件并获得它,即使我单击 ImageView,类似于 WPF 中发生的路由事件。

谢谢。

4

2 回答 2

1

您应该能够LinearLayoutclickable

<LinearLayout
        android:orientation="horizontal"
        android:minWidth="25px"
        android:minHeight="25px"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/linearLayout4"
        android:clickable="true">

然后在每个孩子身上设置这个

android:duplicateParentState="true"
于 2013-07-29T17:35:41.987 回答
0

您必须onClickListener在您的LinearLayout:

    LinearLayout linearLayout = (LinearLayout) findViewById(R.id.linear_layout);
    linearLayout.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {

            Toast.makeText(getApplicationContext(), "Hello World!",
                    Toast.LENGTH_LONG).show();

        }
    });
于 2013-07-29T17:38:02.577 回答