【问题标题】:How to disable all content inside linear layout in android?如何禁用android中线性布局内的所有内容?
【发布时间】:2012-02-23 06:25:03
【问题描述】:

嗨,我想在加载活动时禁用线性布局的所有内容,当用户点击这些内容时,它会显示警报消息。

点击激活按钮后,应该启用线性布局。有没有可能?

我可以使用以下代码禁用线性布局内的所有内容:

LinearLayout myLayout = (LinearLayout) findViewById(R.id.linearLayout1);
for ( int i = 0; i < myLayout.getCount();  i++ ){
    View view = myLayout.getChildAt(i);
    view.setVisibility(View.GONE); // Or whatever you want to do with the view.
 }

我想在用户点击禁用区域时显示警告对话框。

请给我推荐可用的链接或示例代码。

【问题讨论】:

    标签: android android-layout android-emulator android-intent android-widget


    【解决方案1】:

    你需要这样做:

    LinearLayout myLayout = (LinearLayout) findViewById(R.id.linearLayout1);
    for ( int i = 0; i < myLayout.getChildCount();  i++ ){
        View view = myLayout.getChildAt(i);
        view.setEnabled(false); // Or whatever you want to do with the view.
     }
    

    然后创建一个警报对话框,然后

    myLayout.setOnclickListener(new OnClickListener(){
    
       onClick(){
         dialog.show();
       }
    });
    

    【讨论】:

      【解决方案2】:

      只要这样做,就会起作用,而不是获取所有视图并禁用它们

      myLayout.setEnabled(false); 
      

      【讨论】:

        【解决方案3】:

        你可以直接调用如下,不需要为里面的每个视图设置。

        myLayout.setVisibility(View.INVISIBLE); // or View.GONE as you needed
        

        【讨论】:

        • 问题是禁用视图,而不是隐藏它。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-08-05
        • 1970-01-01
        • 1970-01-01
        • 2013-11-17
        • 2018-02-26
        • 1970-01-01
        • 2010-10-12
        相关资源
        最近更新 更多