Android layout Android Xml文件按钮隐藏

Android layout Android Xml文件按钮隐藏,android-layout,Android Layout,在我的Android应用程序中,我必须根据某些条件隐藏按钮,如果条件为true,则按钮为hide,否则它将按原样显示,因此对于隐藏功能,我使用按钮的buttonID.setVisibility(View.INVISIBLE),因此按钮是隐藏的,但会占用xml文件中的空间,因此,请建议我将按钮隐藏起来,不要在xml文件中占用空间您应该使用View.GONE而不是View.INVISIBLE您应该使用View.GONE而不是View.INVISIBLE正如@Tim建议的那样,您始终可以更改元素的布局

在我的Android应用程序中,我必须根据某些条件隐藏按钮,如果条件为true,则按钮为hide,否则它将按原样显示,因此对于隐藏功能,我使用按钮的
buttonID.setVisibility(View.INVISIBLE)
,因此按钮是隐藏的,但会占用xml文件中的空间,因此,请建议我将按钮隐藏起来,不要在xml文件中占用空间

您应该使用View.GONE而不是View.INVISIBLE

您应该使用View.GONE而不是View.INVISIBLE

正如@Tim建议的那样,您始终可以更改元素的布局参数,而不仅仅是将其可见性设置为
可见
消失

这是样品。假设单击了
复选框

checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            if(isChecked){  
                buttonID.setVisibility(View.GONE);
             }
            else{
                buttonID.setVisibility(View.VISIBLE); 
                // now settings the new parameters
                AbsoluteLayout.LayoutParams params = ((AbsoluteLayout.LayoutParams) buttonID.getLayoutParams());
                params.x = 100; // the new value
                params.y = 100; // the new value
                buttonID.setLayoutParams(params);
            }
    });

来源:

正如@Tim所建议的,您可以随时更改元素的布局参数,而不仅仅是将其可见性设置为
VISIBLE
GONE

这是样品。假设单击了
复选框

checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            if(isChecked){  
                buttonID.setVisibility(View.GONE);
             }
            else{
                buttonID.setVisibility(View.VISIBLE); 
                // now settings the new parameters
                AbsoluteLayout.LayoutParams params = ((AbsoluteLayout.LayoutParams) buttonID.getLayoutParams());
                params.x = 100; // the new value
                params.y = 100; // the new value
                buttonID.setLayoutParams(params);
            }
    });
来源:

  • 可见-这意味着可见且占用空间
  • 不可见-这意味着不可见并且占用空间
  • 消失了-这意味着看不见,不占用空间
按如下方式使用:

可见XML中的标记

android:visibility="visible"
android:visibility="invisible"
android:visibility="gone"
可见java代码

view.setVisibility(View.VISIBLE);
view.setVisibility(View.INVISIBLE);
XML中的不可见标记

android:visibility="visible"
android:visibility="invisible"
android:visibility="gone"
不可见的java代码

view.setVisibility(View.VISIBLE);
view.setVisibility(View.INVISIBLE);
消失了XML中的标记

android:visibility="visible"
android:visibility="invisible"
android:visibility="gone"
消失了java中的标记

view.setVisibility(View.GONE);
  • 可见-这意味着可见且占用空间
  • 不可见-这意味着不可见并且占用空间
  • 消失了-这意味着看不见,不占用空间
按如下方式使用:

可见XML中的标记

android:visibility="visible"
android:visibility="invisible"
android:visibility="gone"
可见java代码

view.setVisibility(View.VISIBLE);
view.setVisibility(View.INVISIBLE);
XML中的不可见标记

android:visibility="visible"
android:visibility="invisible"
android:visibility="gone"
不可见的java代码

view.setVisibility(View.VISIBLE);
view.setVisibility(View.INVISIBLE);
消失了XML中的标记

android:visibility="visible"
android:visibility="invisible"
android:visibility="gone"
消失了java中的标记

view.setVisibility(View.GONE);

按钮的可能副本被隐藏,但它在xml文件中占用了空间。在布局xml文件中硬编码按钮并没有什么错。事实上,我通常更喜欢这样,假设按钮是定期显示的,因为这样更容易看到您的布局在做什么。也就是说,如果您遵循复制链接,您将看到如何动态地将按钮添加到布局中。这将使按钮“不要在xml文件中占用空间”,如果这是您真正想要的。这是否回答了您的问题?按钮的可能副本被隐藏,但它在xml文件中占用了空间。在布局xml文件中硬编码按钮并没有什么错。事实上,我通常更喜欢这样,假设按钮是定期显示的,因为这样更容易看到您的布局在做什么。也就是说,如果您遵循复制链接,您将看到如何动态地将按钮添加到布局中。这将使按钮“不要在xml文件中占用空间”,如果这是您真正想要的。这是否回答了您的问题?好的,意味着使用布局位置我们也可以在xml文件中设置控件peoper好的,意味着使用布局位置我们也可以在xml文件中设置控件peoper