Android中visibility属性详解

Android开发中,大部分控件都有visibility这个属性,其属性有3个分别为“visible ”、“invisible”、“gone”。主要用来设置控制控件的显示和隐藏。

1) 可见(visible)

XML文件:android:visibility=”visible”Java代码:view.setVisibility(View.VISIBLE);

2) 不可见(invisible)

XML文件:android:visibility=”invisible”Java代码:view.setVisibility(View.INVISIBLE);

3) 隐藏(GONE)

XML文件:android:visibility=”gone”Java代码:view.setVisibility(View.GONE);

为了区别其作用,测试demo如下:

Java代码:

public class MainActivity extends Activity {
	private TextView txt222 = null;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		txt222 = (TextView)findViewById(R.id.txt2222);
		findViewById(R.id.btn1).setOnClickListener(listener);
		findViewById(R.id.btn2).setOnClickListener(listener);
		findViewById(R.id.btn3).setOnClickListener(listener);
	}
	View.OnClickListener listener = new View.OnClickListener() {
		@Override
		public void onClick(View v) {
			switch (v.getId()) {
			case R.id.btn1:
				txt222.setVisibility(View.VISIBLE);
				break;
			case R.id.btn2:
				txt222.setVisibility(View.INVISIBLE);
				break;
			case R.id.btn3:
				txt222.setVisibility(View.GONE);
				break;
			}
		}
	};
}

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:layout_marginBottom="20dip"
		android:orientation="horizontal" >
		<TextView
			android:layout_width="wrap_content"
			android:layout_height="wrap_content"
			android:layout_weight="1"
			android:background="#F00"
			android:text="1111"
			android:visibility="visible" />
		<TextView
			android:id="@+id/txt2222"
			android:layout_width="wrap_content"
			android:layout_height="wrap_content"
			android:layout_weight="1"
			android:background="#0F0"
			android:text="2222"
			android:visibility="visible" />
	</LinearLayout>
	<Button
		android:id="@+id/btn1"
		android:layout_width="fill_parent"
		android:layout_height="wrap_content"
		android:text="2222 VISIBLE" />
	<Button
		android:id="@+id/btn2"
		android:layout_width="fill_parent"
		android:layout_height="wrap_content"
		android:text="2222 INVISIBLE" />
	<Button
		android:id="@+id/btn3"
		android:layout_width="fill_parent"
		android:layout_height="wrap_content"
		android:text="2222 GONE" />
</LinearLayout>

运行结果:

代码解释:

两个TextView,用于测试visible, invisible, gone的效果

第一个TextView, 用于测试第二个TextView被设置为visible,invisible,gone状态后的显示效果

第二个TextView, 用于设置为visible, invisible, gone

三个Button,用于操作第二个TextView的状态分别为visible, invisible, gone

测试结果

1) 点击第二个Button(btn2),设置第二个TextView(txt222)为invisible,显示效果如下:

2) 点击第二个Button( btn3 ),设置第二个TextView(txt222)为 gone ,显示效果如下:

3) 点击第二个Button( btn1 ),设置第二个TextView(txt222)为 visible ,显示效果如下:

结论:

visible      : 设置控件可见

invisible   : 设置控件不可见

gone        : 设置控件隐藏

invisible当控件visibility属性为invisible时,界面保留了view控件所占有的空间;而控件属性为gone时,界面则不保留view控件所占有的空间。

时间: 2024-11-16 07:44:40

Android中visibility属性详解的相关文章

Android中shape属性详解

一.简单使用 刚开始,就先不讲一堆标签的意义及用法,先简单看看shape标签怎么用. 1.新建shape文件 首先在res/drawable文件夹下,新建一个文件,命名为:shape_radius.xml 内容是这样的:(先不需要理解,先看shape怎么用) [html] view plaincopyprint? <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="ht

ImageView中scaleType属性详解

scaleType是指定图片的拉伸方式的一个属性,下面是具体的示例和介绍: <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="

Android技术18:Android中Adapter类详解

1.Adapter设计模式 Android中adapter接口有很多种实现,例如,ArrayAdapter,BaseAdapter,CursorAdapter,SimpleAdapter,SimpleCursorAdapter等,他们分别对应不同的数据源.例如,ArrayAdater对应List和数组数据源,而CursorAdapter对应Cursor对象(一般从数据库中获取的记录集).这些Adapter都需要getView方法返回当前列表项显示的View对象.当Model发生改变时,会调用Ba

Android中Intent组件详解

Intent是不同组件之间相互通讯的纽带,封装了不同组件之间通讯的条件.Intent本身是定义为一个类别(Class),一个Intent对象表达一个目的(Goal)或期望(Expectation),叙述其所期望的服务或动作.与动作有关的数据等.Android则根据此Intent对象之叙述,负责配对,找出相配的组件,然后将 Intent对象传递给所找到的组件,Android的媒婆任务就完成了. 在Google Doc中是这样描述Intent的(摘自Android中文翻译组)当接收到ContentR

HTML中META属性详解 转载自 hero_213的博客

HTML中META属性详解 meta是html语言head区的一个辅助性标签.几乎所有的网页里,我们可以看到类似下面这段的html代码: <head> <meta   http-equiv= "content-Type "   content= "text/html;   charset=gb2312 "> </head>         也许你认为这些代码可有可无.其实如果你能够用好meta标签,会给你带来意想不到的效果,例如加

Android中HttpURLConnection使用详解

认识Http协议 Android中发送http网络请求是很常见的,要有GET请求和POST请求.一个完整的http请求需要经历两个过程:客户端发送请求到服务器,然后服务器将结果返回给客户端,如下图所示: 客户端->服务器 客户端向服务器发送请求主要包含以下信息:请求的Url地址.请求头以及可选的请求体,打开百度首页,客户端向服务器发送的信息如下所示: 请求URL(Request URL) 上图中的Request URL就是请求的Url地址,即https://www.baidu.com,该Url没

Android中visibility属性

Android开发中,大部分控件都有visibility这个属性,其属性有3个分别为“visible ”.“invisible”.“gone”.主要用来设置控制控件的显示和隐藏. 1) 可见(visible)XML文件:android:visibility="visible"Java代码:view.setVisibility(View.VISIBLE); 2) 不可见(invisible)XML文件:android:visibility="invisible"Jav

DIV css中cursor属性详解-鼠标移到图片变换鼠标形状 (转)

css中cursor属性详解-鼠标移到图片变换鼠标形状 语法: cursor : auto | all-scroll | col-resize| crosshair | default | hand | move | help | no-drop | not-allowed | pointer | progress | row-resize | text | vertical-text | wait | *-resize | url ( url )  取值: auto  :   默认值.浏览器根

Android中launchMode模式详解

关于Android中launchMode的文章介绍的真心不少,广为流传而且介绍的最详细的莫过于这篇文章http://blog.csdn.net/android_tutor/article/details/6310015.但是这篇文章中关于singletask和singleinstance在评论中还是有些不解和争论,在此根据实例重点说下这两种模式: 实例简介:有两个Activity,分别为AActivity和BActivity,界面相同.点击按钮A和B,分别启动AActivity和BActivit