2016-10-13 91 views
0

我有一個linearyLayout有幾個linearlayout和一些意見。有什麼辦法讓Linearlayout讓孩子不能點擊android嗎?

我想使整個佈局不可點擊。

這是對的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

您是否意味着不重寫可點擊事件? –

+0

clickable應該在運行時確定,就像在java代碼中不是xml一樣 –

回答

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"> 
相關問題