1

として保存されている LinearLayout がありapp_viewます。

app_viewサイドバーのオーバーをスライドさせる時があります。現時点では、すべてapp_viewクリックできないようにしたいと考えています。

サイドバーが表示されている間、レイアウトの小さなスライバーをクリック可能にしたくありません。

を設定しようとしましapp_view.setClickable(false)たが、すべての子要素でクリック可能に設定されていないようです。

この種の状況にアプローチする最善の方法は何ですか?

4

1 に答える 1

-1
public static void setClickableRecursive(View view, boolean isClickable){
    if(view instanceof ViewGroup){
        ViewGroup group = (ViewGroup) view;
        for(int i = 0; i < group.getChildCount(); i++){
            setClickableRecursive(group.getChildAt(i), isClickable);
        }
    }else{
        view.setClickable(isClickable);
    }
}
于 2014-08-04T07:42:16.007 に答える