您的位置:首页 > 移动开发 > Android开发

Android中visibility属性VISIBLE、INVISIBLE、GONE的区别

2016-08-02 00:00 615 查看
摘要: 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);

示例代码如下

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">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">

<TextView

android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="#F00"
android:text="第一个textview" />

<TextView
android:id="@+id/text2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="#00F"
android:text="第二个textview" />

</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView2为VISIBLE"
android:onClick="onclick"
/>

<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView2为INVISIBLE"
android:onClick="onclick"
/>

<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView2为GONE"
android:onClick="onclick"
/>

</LinearLayout>

</LinearLayout>

Java部分

package com.hxmic.myapplication.Fragment;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import com.hxmic.myapplication.R;

public class MainVisibility extends AppCompatActivity {

private TextView textView;

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

textView=(TextView)findViewById(R.id.text2);

}

public void onclick(View view){
switch (view.getId()){

case R.id.button1:{

textView.setVisibility(View.VISIBLE);
break;

}case R.id.button2:{

textView.setVisibility(View.INVISIBLE);
break;
}case R.id.button3:{

textView.setVisibility(View.GONE);
break;
}
default: break;

}
}
}

textView.setVisibility(View.VISIBLE);



textView.setVisibility(View.INVISIBLE);



textView.setVisibility(View.GONE);



invisible 和 gone

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

而控件属性为gone时,界面则不保留view控件所占有的空间。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: