如何以编程方式改变布局的可见性
有方法来改变视图的可见性,但我怎样才能改变在XML中定义的布局的编程可见性? 如何获得布局对象?
<LinearLayout android:id="@+id/contacts_type" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:visibility="gone"> </LinearLayout>
看看View.setVisibility(View.GONE / View.VISIBLE / View.INVISIBLE)
。
从API文档 :
public void setVisibility(int visibility)
因为:API级别1
设置此视图的启用状态。
相关的XML属性:android:visibility参数:
visibility
的,不visibility
的或无效的。
请注意, LinearLayout
是ViewGroup
, ViewGroup
又是一个View
。 也就是说,你可能会调用myLinearLayout.setVisibility(View.VISIBLE)
。
这是有道理的。 如果您有任何AWT / Swing的经验,您将从Container
和Component
之间的关系中识别出来。 (一个Container
是一个 Component
。)
TextView view = (TextView) findViewById(R.id.textView); view.setText("Add your text here"); view.setVisibility(View.VISIBLE);
在你的xml文件中使用这个布局
<LinearLayout android:id="@+id/contacts_type" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:visibility="gone"> </LinearLayout>
在.class文件中定义您的布局
LinearLayout linearLayout = (LinearLayout) findViewById(R.id.contacts_type);
现在,如果你想鞋这个布局只是写
linearLayout.setVisibility(View.VISIBLE);
如果你想隐藏布局只是写
linearLayout.setVisibility(View.INVISIBLE);
您可以像修改常规视图一样更改布局可视性。 使用setVisibility(View.GONE)等所有布局只是视图,他们有视图作为他们的父母。