web-dev-qa-db-ja.com

プログラムでレイアウトの可視性を変更する方法

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>
55

View.setVisibility(View.GONE / View.VISIBLE / View.INVISIBLE)をご覧ください。

APIドキュメント から:

public void setVisibility(int visibility)

以来:APIレベル1

このビューの有効状態を設定します。
関連するXML属性:Android:visibility

パラメータ:
visibility VISIBLE、INVISIBLE、またはGONEのいずれか。

LinearLayoutViewGroup であり、これは View であることに注意してください。つまり、たとえばmyLinearLayout.setVisibility(View.VISIBLE)を呼び出すことができます。

意味あり。 AWT/Swingの経験がある場合は、ContainerComponentの関係からそれを認識できます。 (A Containeris aComponent。)

101
aioobe
TextView view = (TextView) findViewById(R.id.textView);
view.setText("Add your text here");
view.setVisibility(View.VISIBLE);
13
SuperNova1054

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);
6
pavel

プログラムでこれを使用します:

 view.setVisibility(View.GONE); //For GONE
 view.setVisibility(View.INVISIBLE); //For INVISIBLE
 view.setVisibility(View.VISIBLE); //For VISIBLE
1
Hanisha

通常の表示と同じ方法で、レイアウトの表示を変更できます。 setVisibility(View.GONE)などを使用します。すべてのレイアウトは単なるビューであり、親としてビューを持っています。

1