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

Posted

技术标签:

【中文标题】如何禁用android中线性布局内的所有内容?【英文标题】:How to disable all content inside linear layout in 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.
 

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

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

【问题讨论】:

【参考方案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

【讨论】:

问题是禁用视图,而不是隐藏它。

以上是关于如何禁用android中线性布局内的所有内容?的主要内容,如果未能解决你的问题,请参考以下文章

在android中的类内的对话框片段的线性布局中添加textview

.Net程序猿玩转Android开发---线性布局LinearLayout

垂直线性布局内的水平线性布局

android线性布局,如何居中?

如何通过单击片段内的线性布局从片段类开始新活动?下面是我的代码,但这不起作用

LinearLayout(线性布局)