视图显示与隐藏
- 理论说明
- 效果展示
- 案例代码
第一章 理论说明
视图的显示和隐藏是采用的 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
<?xml version="1.0" encoding="utf-8"?>
<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();
}
});
}
}