有改变View可见性的方法,但是如何以编程方式更改XML中定义的布局的可见性?如何获得布局对象?
<LinearLayout
android:id="@+id/contacts_type"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:visibility="gone">
</LinearLayout>
答案 0 :(得分:96)
查看View.setVisibility(View.GONE / View.VISIBLE / View.INVISIBLE)
。
来自API docs:
public void setVisibility(int visibility)
自:API Level 1
设置此视图的启用状态。
相关的XML属性:android:visibility
<强>参数:强>
visibility
其中一个可见,不可见或已经消失。
请注意,LinearLayout
是ViewGroup
,而View
又是{{3}}。也就是说,您可能会调用myLinearLayout.setVisibility(View.VISIBLE)
。
这是有道理的。如果您有使用AWT / Swing的任何经验,您可以从Container
和Component
之间的关系中识别它。 (Container
是 Component
。)
答案 1 :(得分:13)
TextView view = (TextView) findViewById(R.id.textView);
view.setText("Add your text here");
view.setVisibility(View.VISIBLE);
答案 2 :(得分:6)
在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);
答案 3 :(得分:1)
您可以使用与常规视图相同的方式更改布局可见性。 使用setVisibility(View.GONE)等。所有布局都只是视图,它们将View视为其父级。
答案 4 :(得分:1)
以编程方式使用此:
view.setVisibility(View.GONE); //For GONE
view.setVisibility(View.INVISIBLE); //For INVISIBLE
view.setVisibility(View.VISIBLE); //For VISIBLE