Androidのレイアウトとコントロールの非表示とトリガ表示
5373 ワード
1、レイアウトの非表示と表示
Androidの開発には多くの表示と隠しの問題があります.場合によっては、レイアウトの一部を隠す必要があります.すべてのレイアウト(直線レイアウト、相対配置、グリッドレイアウトなど)を含みます.ここではLinear Layoutの隠し表示を例に説明します.まずラyoutの中のxmlページでページのデザインを行います.
レイアウト表示の隠しと同様に、まずxmlのコードです.
Androidの開発には多くの表示と隠しの問題があります.場合によっては、レイアウトの一部を隠す必要があります.すべてのレイアウト(直線レイアウト、相対配置、グリッドレイアウトなど)を含みます.ここではLinear Layoutの隠し表示を例に説明します.まずラyoutの中のxmlページでページのデザインを行います.
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="144"
android:id="@+id/linearLayout_id">
LinearLayout>
それに対応するjavaファイルでこのLinear LayoutのIDを操作すればいいです.JAVAコードに対応して、ここで実現される機能は、デフォルトの状態ではターゲットレイアウトが表示されず、表示されない部分は他の部分に置き換えられます.ボタンをクリックするとレイアウトが表示されます.private boolean isVisible = true;
private LinearLayout layout_1;
@Override
protected void onCreate(Bundle savedInstanceState) {
layout_1 = (LinearLayout) findViewById(R.id.linearLayout_id);
layout_1.setVisibility(View.GONE);// LinearLayout
//
ImageView more = (ImageView) findViewById(R.id.more);
more.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (isVisible) {
isVisible = false;
layout_1.setVisibility(View.VISIBLE);// LinearLayout
} else {
layout_1.setVisibility(View.GONE);// LinearLayout
isVisible = true;
}
}
});
}
2、コントロールボタンの非表示と表示レイアウト表示の隠しと同様に、まずxmlのコードです.
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1">
<ImageView
android:id="@+id/monitor_area1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/monitorarea"
/>
LinearLayout>
対応するjavaコードprivate boolean isVisible = true;
private ImageView monitor_area1;
@Override
protected void onCreate(Bundle savedInstanceState) {
//
monitor_area1 = (ImageView) findViewById(R.id.monitor_area1);
monitor_area1.setVisibility(View.INVISIBLE);
//
ImageView more = (ImageView) findViewById(R.id.more);
more.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (isVisible) {
isVisible = false;
monitor_area1.setVisibility(View.VISIBLE);
} else {
monitor_area1.setVisibility(View.INVISIBLE);
isVisible = true;
}
}
});
}