2020-12-06

Android中的布局隐藏和触发显示

点击一个控件让一个Linearlayout显示或隐藏。(控件可以改,不一定是按钮。)

1.点击一个图标隐藏或显示一个Linearlayout.

1.布局文件。
一个Linearlayout,一个ImageView

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="80dp"
        android:background="@color/colorAccent"
        android:orientation="vertical"
        android:id="@+id/linearLayout_id">
    </LinearLayout>


  <ImageView
      android:layout_width="80dp"
      android:layout_height="80dp"
      android:id="@+id/more"
      android:layout_marginTop="10dp"
      android:background="@color/colorAccent"
      />

</LinearLayout>

2,MainActivity.

package com.syzc.ltext;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;

public class MainActivity extends AppCompatActivity {
     
    private boolean isVisible = true;
    private LinearLayout layout_1;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
     
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        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;
                }
            }
        });

    }
}

你可能感兴趣的:(android)