如何在android中以编程方式禁用布局及其内容
我在RelativeLayout中有4个线性布局,我也在使用ImageView。当显示ImageView时,我想禁用4个线性布局及其内容。每个LinearLayout包含4个按钮。下面显示的是我禁用和启用这些布局的功能。有人能帮我理解为什么这不起作用吗如何在android中以编程方式禁用布局及其内容,android,android-linearlayout,Android,Android Linearlayout,我在RelativeLayout中有4个线性布局,我也在使用ImageView。当显示ImageView时,我想禁用4个线性布局及其内容。每个LinearLayout包含4个按钮。下面显示的是我禁用和启用这些布局的功能。有人能帮我理解为什么这不起作用吗 private void disablelayout(final LinearLayout l1,final LinearLayout l2,final LinearLayout l3,final LinearLayout l4) {
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);
}
使用setVisibility()设置不可见或消失。如下使用:
l1.setVisibility(View.GONE);
l2.setVisibility(View.GONE);
l3.setVisibility(View.GONE);
l4.setVisibility(View.GONE);
将所有项目的“Clickable
”属性设置为false。该方法是setClickable(布尔)。
之后,没有人可以单击它。您还可以研究这个问题:
private void enableDisableView(视图视图,布尔启用){
view.setEnabled(已启用);
if(视图组的视图实例){
视图组组=(视图组)视图;
对于(int idx=0;idx
如果我设置此选项,线性布局将不可见。rt?但我不想使其不可见我认为禁用此选项意味着看不见。也许你正在寻找这样的东西:我不想让它不可见。版面应该是可见的。但用户不应该能够单击版面中的按钮。我尝试了这个…但我仍然可以单击按钮…我已经为版面设置了此属性。这是我问你的…是否有必要将dis设置为d版面中的所有CNTRL。真的吗困难..每个视图都有“重复父状态”属性(在可视化编辑器中也是如此)。将所有按钮和其他您想要的VIE设置为true。使用setEnabled后(false);布局。它应该可以工作。我已经为所有按钮设置了重复的父状态属性。但仍然存在相同的问题。。。
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);
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);
}
}
}