在Android开发中,大部分控件都有visibility这个属性,其属性有3个分别为“visible ”、“invisible”、“gone”。主要用来设置控制控件的显示和隐藏。有些人可能会疑惑Invisible和gone是有什么区别的???那 么,我们带着这个疑问看下面:
其在XML文件和Java代码中设置如下:
可见(visible)
XML文件:android:visibility="visible"
Java代码:view.setVisibility(View.VISIBLE);
不可见(invisible)
XML文件:android:visibility="invisible"
Java代码:view.setVisibility(View.INVISIBLE);
隐藏(GONE)
XML文件:android:visibility="gone"
Java代码:view.setVisibility(View.GONE);
为了区别三者,我建了一个Dome进行演示,先上Dome的代码,演示后就知道它们的区别:
XML文件:
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:orientation="vertical">
- <LinearLayout
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- android:layout_marginBottom="20dip" >
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:background="#F00"
- android:text="TextView1"
- android:textSize="23sp"
- android:visibility="visible" />
- <TextView
- android:id="@+id/mainTV2"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:background="#00F"
- android:text="TextView2"
- android:textSize="23sp"
- android:visibility="visible" />
- </LinearLayout>
- <Button
- android:id="@+id/mainBtn1"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="TextView2为VISIBLE"
- android:onClick="mianOnClickListener"/>
- <Button
- android:id="@+id/mainBtn2"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="TextView2为INVISIBLE"
- android:onClick="mianOnClickListener"/>
- <Button
- android:id="@+id/mainBtn3"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="TextView2为GONE"
- android:onClick="mianOnClickListener"/>
- </LinearLayout>
后面三个Button只要是控制TextView的visibility的属性
- package com.chindroid.visibility;
- import android.app.Activity;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.TextView;
- public class MainActivity extends Activity {
- /** TextView2 */
- private TextView mainTV2 = null;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- //初始化数据
- initData();
- }
- /** 初始化控件的方法 */
- private void initData() {
- mainTV2 = (TextView)findViewById(R.id.mainTV2);
- }
- /**
- * MainActivity中响应<A class=relatedlink target=_blank>按钮</A>点击事件的方法
- *
- * @param v
- */
- public void mianOnClickListener(View v){
- switch (v.getId()){
- case R.id.mainBtn1:{ //按钮1的响应事件
- //设置TextView2可见
- mainTV2.setVisibility(View.VISIBLE);
- break;
- }
- case R.id.mainBtn2:{ //按钮2的响应事件
- //设置TextView2不可见
- mainTV2.setVisibility(View.INVISIBLE);
- break;
- }
- case R.id.mainBtn3:{ //按钮3的响应事件
- //设置TextView2隐藏
- mainTV2.setVisibility(View.GONE);
- break;
- }
- default:
- break;
- }
- }
- }
由于程序一启动两个TextView都是可见的
当我们点击第1个按钮,把TextView2visibility属性设置为INVISIBLE时,程序如下如下图所示:
当我们点击第3个按钮,把TextView2visibility属性设置为GONE时,程序如下如下图所示:
当我们再点击第1个按钮,把TextView2visibility属性设置为VISIBLE时,TextView2又呈现出来了,如下图所示:
由上面的演示可知
VISIBLE:设置控件可见
INVISIBLE:设置控件不可见
GONE:设置控件隐藏
而INVISIBLE和GONE的主要区别是:当控件visibility属性为INVISIBLE时,界面保留了view控件所占有的空间;而控件属性为GONE时,界面则不保留view控件所占有的空间。
相关推荐
在Android开发中,大部分控件都有visibility这个属性,其属性有3个分别为“visible ”、“invisible”、“gone”。主要用来设置控制控件的显示和隐藏。有些人可能会疑惑Invisible和gone是有什么区别的???那么,...
在XML中,可以直接写入属性`android:visibility="value"`,其中`value`是`visible`、`invisible`或`gone`。而在Java或Kotlin代码中,可以使用`View.VISIBLE`、`View.INVISIBLE`和`View.GONE`常量来设置。 例如: ``...
VISIBLE、INVISIBLE 和 GONE 是 VISIBILITY 属性的三个主要状态,它们的区别在于对控件的显示和布局的影响。 VISIBLE 状态下,控件是可见的,占用屏幕空间,且参与布局计算。在 XML 文件中,我们可以使用 android:...
在Android开发中,`visibility`属性是控制UI组件(如按钮、文本视图等)是否在屏幕上显示的关键属性。它提供了三个可能的值,每个值都有特定的效果: 1. **可见(Visible)**:当`visibility`设置为`visible`时,...
* android:visibility="invisible" // 设置控件不可见,但是在布局中占用的位置还在 * android:visibility="gone" // 设置控件不可见,完全从布局中消失 定义背景图片 android:background 属性用于设置控件的背景...
`Gone`是Android中的一个View可见性属性,与`Visible`(可见)和`Invisible`(不可见)并列。这三种状态分别代表了不同的含义: 1. `VISIBLE`:默认值,表示视图可见。用户可以看到该视图,并占用相应的布局空间。 ...
布局属性还包括了可见性控制,如`android:visibility`,可设置为“visible”、“gone”或“invisible”,分别对应可见、完全不可见和占用空间但不可见。 在性能方面,避免深度嵌套布局和使用高效的布局如...
3. `android:visibility`:控制控件的可见性,可设为"visible"、"gone"或"invisible"。 4. `android:layout_alignParent*` 和 `android:layout_to*`:在相对布局中定义控件的位置。 通过熟练掌握这些Android UI...
android:visibility 属性用于设置控件的可见性,可以取值为 "visible"、"invisible"、"gone"。 本文详细介绍了 Android 的基本 UI 控件和布局文件的用法,了解这些控件和布局文件是 Android 开发的基础。
在XML布局文件中,可以通过`android:visibility`属性来设置视图组件的可见性。该属性有三个可能的值: 1. **Visible**:表示视图可见。这是默认值。 2. **Invisible**:表示视图不可见,但仍保留其布局空间。 3. **...
进度条 运行状态提示有三种visibility形态 visible 控件可见且占据界面的空间 invisible 控件不可见,仍占据界面空间 gone 控件不可见,也不占据空间 进度条 运行状态应用: 在布局中插入一个ProgressBar标签,默认...
如果一个控件从`View.GONE`或`View.INVISIBLE`状态切换到`View.VISIBLE`,它将在布局中占用相应的空间。 2. **View.INVISIBLE** 设置为`View.INVISIBLE`后,控件将变得不可见,但仍然占用布局中的空间。换句话说,...
- `android:visibility`:设置视图的可见性,可选"visible"、"invisible"或"gone"。 以上只是一部分可能包含在"android 属性汇总"中的知识点。实际文件中可能有更详尽的列表,包括Android的布局管理器属性、自定义...
进度条 运行状态提示有三种visibility形态 visible 控件可见且占据界面的空间 invisible 控件不可见,仍占据界面空间 gone 控件不可见,也不占据空间 进度条 运行状态应用: 在布局中插入一个ProgressBar标签,默认...
7. `android:visibility`:控制视图的可见性,可以设置为"visible"(默认)、"gone"(不占用空间)或"invisible"(不可见但占用空间)。 三、高级布局技巧 1. 使用`include`标签引入布局碎片,提高代码复用率。 2....
12. `android:visibility`:定义视图的可见性,可以是`VISIBLE`、`INVISIBLE`或`GONE`。 13. `android:requiresFadingEdge`:滚动时边缘是否渐变褪色,提供视觉反馈。 14. `android:clickable`:视图是否可点击。 15...
Android:visibility 属性控制控件的显示和隐藏,包括 VISIBLE、INVISIBLE 和 GONE 三种状态。 八、 Android 布局 Android 布局有多种,包括 LinearLayout、RelativeLayout、FrameLayout、AbsoluteLayout、...
在Android中,我们可以使用`View.VISIBLE`、`View.GONE`和`View.INVISIBLE`这三个常量来控制视图的可见状态。`VISIBLE`表示视图可见,`GONE`表示视图不在布局中占用空间,而`INVISIBLE`则表示视图不可见但仍然占用...