如何禁用android中线性布局内的所有内容?

时间:2012-01-31 14:26:01

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

您好我想在加载活动时禁用所有线性布局内容,当用户点击它时,它会显示警告信息。

单击激活按钮后,应启用线性布局。是否有可能?

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

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.
 }

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

请建议我使用链接或示例代码。

3 个答案:

答案 0 :(得分:13)

您需要执行以下操作:

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();
   }
});

答案 1 :(得分:0)

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

myLayout.setEnabled(false); 

答案 2 :(得分:-6)

您可以直接调用如下,无需为其中的每个视图设置。

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