Android 如何以编程方式更改布局的可见性
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/3465841/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
How to change visibility of layout programmatically
提问by Dariusz Bacinski
There is the way to change visibility of View, but how can I change programmatically visibility of layout defined in XML? How to get layout object?
有更改视图可见性的方法,但如何以编程方式更改 XML 中定义的布局的可见性?如何获取布局对象?
<LinearLayout
android:id="@+id/contacts_type"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:visibility="gone">
</LinearLayout>
回答by aioobe
Have a look at View.setVisibility(View.GONE / View.VISIBLE / View.INVISIBLE)
.
看看View.setVisibility(View.GONE / View.VISIBLE / View.INVISIBLE)
。
From the API docs:
来自API 文档:
public void setVisibility(int visibility)
Since: API Level 1
Set the enabled state of this view.
Related XML Attributes: android:visibilityParameters:
visibility
One of VISIBLE, INVISIBLE, or GONE.
public void setVisibility(int visibility)
从:API 级别 1
设置此视图的启用状态。
相关 XML 属性: android:visibility参数:
visibility
VISIBLE、INVISIBLE 或 GONE 之一。
Note that LinearLayout
is a ViewGroup
which in turn is a View
. That is, you may very well call, for instance, myLinearLayout.setVisibility(View.VISIBLE)
.
请注意,LinearLayout
aViewGroup
又是 a View
。也就是说,例如,您很可能会调用myLinearLayout.setVisibility(View.VISIBLE)
.
This makes sense. If you have any experience with AWT/Swing, you'll recognize it from the relation between Container
and Component
. (A Container
is aComponent
.)
这是有道理的。如果您在使用AWT / Swing的任何经验,你会从之间的关系认识它Container
和Component
。(AContainer
是一个Component
。)
回答by SuperNova1054
TextView view = (TextView) findViewById(R.id.textView);
view.setText("Add your text here");
view.setVisibility(View.VISIBLE);
回答by pavel
Use this Layout in your xml file
在您的 xml 文件中使用此布局
<LinearLayout
android:id="@+id/contacts_type"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:visibility="gone">
</LinearLayout>
Define your layout in .class file
在 .class 文件中定义您的布局
LinearLayout linearLayout = (LinearLayout) findViewById(R.id.contacts_type);
Now if you want to display this layout just write
现在如果你想显示这个布局就写
linearLayout.setVisibility(View.VISIBLE);
and if you want to hide layout just write
如果你想隐藏布局就写
linearLayout.setVisibility(View.INVISIBLE);
回答by Konstantin Burov
You can change layout visibility just in the same way as for regular view. Use setVisibility(View.GONE) etc. All layouts are just Views, they have View as their parent.
您可以以与常规视图相同的方式更改布局可见性。使用 setVisibility(View.GONE) 等。所有布局都只是视图,它们的父视图是视图。
回答by Hanisha
this is a programatical approach:
这是一种程序化方法:
view.setVisibility(View.GONE); //For GONE
view.setVisibility(View.INVISIBLE); //For INVISIBLE
view.setVisibility(View.VISIBLE); //For VISIBLE