即使孩子在里面,如何调用父触摸事件?

时间:2014-03-21 09:42:04

标签: android

我有一个线性布局和一个按钮。即使我触摸按钮上方/上方,我也需要拦截父母触摸听众。 这是我的代码: -

<LinearLayout
            android:id="@+id/button_privacy_layout"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:background="@drawable/wysiwyg_privacy_selector"
            android:paddingBottom="@dimen/ten"
            android:paddingLeft="@dimen/twenty"
            android:paddingRight="@dimen/ten"
            android:paddingTop="@dimen/ten" >

            <Button
                android:id="@+id/buttonPrivacy"
                android:layout_width="30dp"
                android:layout_height="30dp"
                android:layout_gravity="center_vertical"
                android:background="@drawable/ic_privacy"
                android:focusable="false"
                android:focusableInTouchMode="false" />
        </LinearLayout>

我可以通过某些属性使用xml来实现吗?

3 个答案:

答案 0 :(得分:0)

尝试使用父return false方法中的onTouch

public boolean onTouch(View v, MotionEvent event) {
    //Some code
    return false;
}

答案 1 :(得分:0)

你需要为LinearLayout设置OnTouchListener并在onTouch方法中返回false

buttonPrivacyLayout.setOnTouchListener(new OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            if(event.getAction() == MotionEvent.ACTION_UP)
                            //buttonPrivacyLayout view was clicked
            return false;
        }
    });

如果onTouch方法返回false,则按钮也可以处理OnTouchListener

答案 2 :(得分:0)

试试这个:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="10dip"
android:orientation="vertical"
tools:context=".MainActivity" >


<LinearLayout
    android:id="@+id/parent"
    android:layout_width="100dip"
    android:layout_height="50dip" >

    <Button
        android:id="@+id/button1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:padding="10dip"
        android:text="Button" />
</LinearLayout>

<LinearLayout
    android:id="@+id/parent2"
    android:layout_width="100dip"
    android:layout_height="50dip" >

</LinearLayout>

并执行parent2布局的单击