私rl_root
はいくつかのビューとボタンを含む Relativelayout を持っています。ボタンが押されると、呼び出されたメソッドshowConfigStubView
が呼び出され、レイアウトrl_root
が消えて、viewStub
この viewGroup を置き換える必要がありrl_root
ます。
実行時にメソッドshowConfigStubView
が呼び出されると、viewGrouprl_root
が消え、viewStub
表示されなくなります。
int は、非表示にするためのshowConfigStubView
呼び出しであり、プログラムで新しいものを作成し、そのパラメーターを使用して realtiveLayout を作成し、新しい RelativeLayout に を追加してから、それぞれのレイアウトで を膨張させます。View.gone
rl_root
Viewstub
viewStub = new ViewStub(getActivity());
ViewStub
viewStub
以下のコードを見てください。メソッドshowConfigStubView
は、私がどのように呼び出すかを説明していますViewStub
メインレイアウト:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/rl_root"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center_vertical|center_horizontal">
<RadioGroup
android:id="@+id/rg_mqtt_config_choice"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:checkedButton="@+id/rb_used_configs">
<RadioButton
android:id="@+id/rb_used_configs"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/rb_used_configs"/>
<RadioButton
android:id="@+id/rb_new_configs"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/rb_new_configs" />
</RadioGroup>
<Button
android:id="@+id/btn_connect"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_below="@+id/rg_mqtt_config_choice"
android:text="@string/btn_connect"/>
ViewStub
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal">
<TextView
android:id="@+id/tvSubView_ip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:paddingTop="10dp"
android:text="@string/tvSubView_ip"/>
<EditText
android:id="@+id/etSubView_ip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toEndOf="@+id/tvSubView_ip"
android:layout_marginStart="20dp"
android:hint="@string/etSubView_ip_hint"/>
<TextView
android:id="@+id/tvSubView_port"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_below="@+id/tvSubView_ip"
android:paddingTop="20dp"
android:text="@string/tvSubView_port"/>
<EditText
android:id="@+id/etSubView_port"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toEndOf="@+id/tvSubView_port"
android:layout_below="@+id/etSubView_ip"
android:layout_marginStart="7dp"
android:hint="@string/etSubView_port_hint"/>
<TextView
android:id="@+id/tvSubView_clientID"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_below="@+id/tvSubView_port"
android:paddingTop="20dp"
android:text="@string/tvSubView_clientID"/>
<EditText
android:id="@+id/etSubView_clientID"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toEndOf="@+id/tvSubView_clientID"
android:layout_below="@+id/etSubView_port"
android:layout_marginStart="7dp"
android:hint="@string/etSubView_clientID_hint"/>
<TextView
android:id="@+id/tvSubView_KATimer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_below="@+id/tvSubView_clientID"
android:paddingTop="20dp"
android:text="@string/tvSubView_KATimer"/>
<EditText
android:id="@+id/etSubView_KATimer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toEndOf="@+id/tvSubView_KATimer"
android:layout_below="@+id/etSubView_clientID"
android:layout_marginStart="7dp"
android:hint="@string/etSubView_KATimer_hint"/>
<CheckBox
android:id="@+id/cbSubView_CleanSession"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tvSubView_KATimer"
android:layout_marginTop="20dp"
android:gravity="center_vertical"
android:checked="true"
android:text="@string/cbSubView_CleanSession"/>
メソッド showConfigStubView :
protected void showConfigStubView() {
// TODO Auto-generated method stub
this.rl_Root.setVisibility(View.GONE);
viewStub = new ViewStub(getActivity());
RelativeLayout relativeLayout = new RelativeLayout(getActivity());
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams
((int) LayoutParams.WRAP_CONTENT, (int) LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.CENTER_HORIZONTAL);
params.topMargin = 10;
viewStub.setLayoutParams(params);
//rl_Root.addView(viewStub);
viewStub.setLayoutResource(R.layout.mqttconfig_subtree);
relativeLayout.addView(viewStub);
View inflated = viewStub.inflate();
}