有没有办法让Linearlayout让孩子们无法点击android?

时间:2016-10-13 12:35:14

标签: android android-layout

我有一个linearyLayout,有几个linearlayout和一些视图。

我想让整个布局无法点击。

这是linearlayout的第一部分

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   android:background="@drawable/selector_timetable_row"
   android:orientation="vertical">

我第一次做了充气

View view = layoutInflater.inflate(~~, above layout);

我做了

 view.setClickable(false);

但它仍然是可点击的 当我触摸布局时,布局的监听器仍会触发。

1 个答案:

答案 0 :(得分:0)

您可以使用以下自定义视图停用触摸事件传播:

public class CustomLinearLayout extends LinearLayout {

    public CustomLinearLayout(Context context) {
        super(context);
    }

    public CustomLinearLayout(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public CustomLinearLayout(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    @Override
    public boolean dispatchTouchEvent(MotionEvent ev) {
        return false;
    }
}

像这样使用:

<{Here is package name}.CustomLinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   android:background="@drawable/selector_timetable_row"
   android:orientation="vertical">
相关问题