如何以编程方式改变布局的可见性

有方法来改变视图的可见性,但我怎样才能改变在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的或无效的。

请注意, LinearLayoutViewGroupViewGroup又是一个View 。 也就是说,你可能会调用myLinearLayout.setVisibility(View.VISIBLE)

这是有道理的。 如果您有任何AWT / Swing的经验,您将从ContainerComponent之间的关系中识别出来。 (一个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)等所有布局只是视图,他们有视图作为他们的父母。