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>
View.setVisibility(View.GONE / View.VISIBLE / View.INVISIBLE)
をご覧ください。
APIドキュメント から:
public void setVisibility(int visibility)
以来:APIレベル1
このビューの有効状態を設定します。
関連するXML属性:Android:visibilityパラメータ:
visibility
VISIBLE、INVISIBLE、またはGONEのいずれか。
LinearLayout
は ViewGroup
であり、これは View
であることに注意してください。つまり、たとえばmyLinearLayout.setVisibility(View.VISIBLE)
を呼び出すことができます。
意味あり。 AWT/Swingの経験がある場合は、Container
とComponent
の関係からそれを認識できます。 (A Container
is aComponent
。)
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);
プログラムでこれを使用します:
view.setVisibility(View.GONE); //For GONE
view.setVisibility(View.INVISIBLE); //For INVISIBLE
view.setVisibility(View.VISIBLE); //For VISIBLE
通常の表示と同じ方法で、レイアウトの表示を変更できます。 setVisibility(View.GONE)などを使用します。すべてのレイアウトは単なるビューであり、親としてビューを持っています。