我有一个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);
但它仍然是可点击的 当我触摸布局时,布局的监听器仍会触发。
答案 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">