【问题标题】: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