视图 setVisibility 用法

视图显示与隐藏




  • 理论说明
  • 效果展示
  • 案例代码




第一章 理论说明

视图的显示和隐藏是采用的 View对象.setVisibility(常量值) 控制的。

这里的常量取值, 通常有三种情况, 他们分别是:
		//[1]显示
		View对象.setVisibility(View.VISIBLE);
		//[2]隐藏 但是会占据到空间的大小
		View对象.setVisibility(View.INVISIBLE);
		//[3]隐藏 但是不会占据空间的大小
		View对象.setVisibility(View.GONE);



表格效果展示

系统API 效果说明
setVisiablity(View.VISIABLE) 显示视图控件信息
setVisiablity(View.INVISIABLE) 隐藏视图控件信息,但是会占据空间大小
setVisiablity(View.GONE) 隐藏视图控件信息,不会占据空间的大小





第二章 效果展示

第01节 设置 VISIABLE

1. 左图:为正常的状态
2. 右图:点击了 VISIBLE 展示的效果, 观察 "显示02" 按钮的效果



第02节 设置 INVISIABLE

1. 左图:为正常的状态
2. 右图:点击了 INVISIBLE 展示的效果, 观察 "显示02" 按钮的效果



第03节 设置 GONE

1. 左图:为正常的状态
2. 右图:点击了 GONE 展示的效果, 观察 "显示02" 按钮的效果







第三章 案例代码

步骤01: activity_main.xml


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    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="wrap_content"
        android:orientation="horizontal">

        <Button
            android:id="@+id/btn_visible"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_margin="5dp"
            android:layout_weight="1"
            android:text="VISIABLE"
            android:textSize="8sp" />

        <Button
            android:id="@+id/btn_invisible"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_margin="5dp"
            android:layout_weight="1"
            android:text="INVISIABLE"
            android:textSize="8sp" />

        <Button
            android:id="@+id/btn_gone"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_margin="5dp"
            android:layout_weight="1"
            android:text="GONE"
            android:textSize="8sp" />
    LinearLayout>


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#FF9900"
        android:orientation="horizontal"
        android:paddingTop="10dp"
        android:paddingBottom="10dp">

        <Button
            android:id="@+id/btn_show01"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="显示01" />

        <Button
            android:id="@+id/btn_show02"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="显示02" />

        <Button
            android:id="@+id/btn_show03"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="显示03" />

    LinearLayout>
    
LinearLayout>




步骤02: MainActivity

package chc.svip;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

    private Button btnGone,btnVisible,btnInVisible;
    private Button btnShow01,btnShow02,btnShow03;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        this.btnGone = findViewById(R.id.btn_gone);
        this.btnVisible = findViewById(R.id.btn_visible);
        this.btnInVisible = findViewById(R.id.btn_invisible);

        this.btnShow01 = findViewById(R.id.btn_show01);
        this.btnShow02 = findViewById(R.id.btn_show02);
        this.btnShow03 = findViewById(R.id.btn_show03);

        // 设置按钮的点击事件效果
        this.btnVisible.setOnClickListener(new View.OnClickListener(){

            @Override
            public void onClick(View v) {
                //设置视图 VISIBLE 显示
                btnShow02.setVisibility(View.VISIBLE);
                Toast.makeText(MainActivity.this,"VISIBLE",Toast.LENGTH_LONG).show();
            }
        });

        // 设置按钮的点击事件效果
        this.btnInVisible.setOnClickListener(new View.OnClickListener(){

            @Override
            public void onClick(View v) {
                //设置视图 INVISIBLE 隐藏, 还会占据空间大小
                btnShow02.setVisibility(View.INVISIBLE);
                Toast.makeText(MainActivity.this,"INVISIBLE",Toast.LENGTH_LONG).show();
            }
        });

        // 设置按钮的点击事件效果
        this.btnGone.setOnClickListener(new View.OnClickListener(){

            @Override
            public void onClick(View v) {
                //设置视图 GONE 隐藏, 不占据空间大小
                btnShow02.setVisibility(View.GONE);
                Toast.makeText(MainActivity.this,"GONE",Toast.LENGTH_LONG).show();
            }
        });
    }
}






你可能感兴趣的:(Andoid基础,android)