как отключить макет и его содержимое программно в Android - PullRequest
1 голос
/ 10 июня 2011

У меня есть 4 LinearLayouts в RelativeLayout, и я также использую ImageView.Когда отображается ImageView, я хочу отключить 4 LinearLayouts и их содержимое.Каждый LinearLayout содержит 4 кнопки.Ниже показана моя функция для отключения и включения этих макетов.Может кто-нибудь помочь мне понять, почему это не работает?

private void disablelayout(final LinearLayout l1,final LinearLayout l2,final LinearLayout l3,final LinearLayout l4)
    {
        l1.setEnabled(false);
        l2.setEnabled(false);
        l3.setEnabled(false);
        l4.setEnabled(false);

    }
    private void enablelayout(final LinearLayout l1,final LinearLayout l2,final LinearLayout l3,final LinearLayout l4)
    {
        l1.postDelayed(new Runnable(){             
             @Override             
             public void run() {                 
                 l1.setEnabled(true); 
                 l2.setEnabled(true); 
                 l3.setEnabled(true); 
                 l4.setEnabled(true); 
             }         
             }, 3000);
    }

Ответы [ 5 ]

2 голосов
/ 02 мая 2013
private void enableDisableView(View view, boolean enabled) {
    view.setEnabled(enabled);

    if ( view instanceof ViewGroup ) {
        ViewGroup group = (ViewGroup)view;

        for ( int idx = 0 ; idx < group.getChildCount() ; idx++ ) {
            enableDisableView(group.getChildAt(idx), enabled);
        }
    }
}
0 голосов
/ 03 мая 2012
Use can use this for hide the whole layout

l1.setVisibility(View.GONE);
l2.setVisibility(View.GONE);
l3.setVisibility(View.GONE);
l4.setVisibility(View.GONE);

whenever you want to display particular layout then you can 

l1.setVisibility(View.VISIBLE);
0 голосов
/ 10 июня 2011

Используйте вот так:

l1.setVisibility(View.GONE);
l2.setVisibility(View.GONE);
l3.setVisibility(View.GONE);
l4.setVisibility(View.GONE);
0 голосов
/ 10 июня 2011

Установите для свойства "Clicable" для всех элементов значение false. Метод setClickable (boolean).
После этого никто не может щелкнуть по нему. Также вы можете посмотреть на этот вопрос: Как отключить кнопку Android

0 голосов
/ 10 июня 2011

Используйте setVisibility (), чтобы либо НЕВИДИТЬ, либо УЖЕ.

...