关于android中的隐藏布局
问题描述:一张图片,在需要显示的时候显示,否则处于隐藏状态。图片隐藏时不占用任何的布局控件;图片显示时,图片一下的所有布局依次向下移动。如图所示:
点击按钮,图片显示,再次点击,图片消失。
问题解决:
通过上网查资料,可以通过view的可见性实现以上功能。
在布局文件xml中通过属性 android:visibility进行控制。
该属性有三个参数,分别为:visible(可见)invisible(不可见)以及gone
gone与invisible都是不可见的。但不同的是,gone在隐藏的情况下不会占用任何的布局空间。
明白以上属性以及属性参数之后,可以在java文件中,为button设计监听器,点击button则可以控制view的可见性了。
下面给出完整代码。
另外,我已将项目工程上传至csdn,需要的朋友可以下载。地址:http://download.csdn.net/download/jenn_lian/4520407
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" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" />
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="click it !"
android:id="@+id/btn_mybuttom"
/>
<ImageView
android:id="@+id/img"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:visibility="gone"
android:src="@drawable/youtube"
/>
<TextView
android:text="it is an example!"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
java文件:
package com.csdn.blog;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
/**
* the activity is to show the invisible layout when it is necessary
*
* @author jenn
*
*/
public class SumaryActivity extends Activity {
private Button btn_Mybutton;
private ImageView imgView_img;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
findView();
btn_Mybutton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// i=0,it is visible;i=4,it is invisible;i=0,it is gone;
int i = 0;
i = imgView_img.getVisibility();
if (i == 8) {
imgView_img.setVisibility(View.VISIBLE);
} else {
imgView_img.setVisibility(View.GONE);
}
}
});
}
/**
* find views by id for each one
*/
public void findView() {
btn_Mybutton = (Button) findViewById(R.id.btn_mybuttom);
imgView_img = (ImageView) findViewById(R.id.img);
}
}
下面对i进行简单的说明。getVisibility()方法是获取当前空间是否可见,如果可见,返回值为8,不可见但占空间,返回值为4;不可见并不占用空间,返回值为0.
关于android中的隐藏布局相关推荐
- Android中的表格布局
文章目录 1 Android中的表格布局 1 Android中的表格布局 重要属性: android:stretchColumns android:shrinkColumns android:coll ...
- Android中动态初始化布局参数以及ConstraintLayout使用中遇到的坑
Android中动态初始化布局以及ConstraintLayout遇到的一个坑 ConstraintLayout是Android中的一个很强大的布局,它通过控件之间的相对定位,来完成一个layout中 ...
- Android中的约束布局
文章目录 1 Android中的约束布局 1.1 约束布局的重要属性 1.2 约束布局示例 1 Android中的约束布局 1.1 约束布局的重要属性 重要属性: app:layout_constra ...
- Android中的网格布局
文章目录 1 Android中的网格布局 1 Android中的网格布局 重要属性: android:rowCount(行数量) android:columnCount (列数量) android:l ...
- Android中的帧布局
文章目录 1 Android中的帧布局 1 Android中的帧布局 首先看下效果: 下面看下xml: <?xml version="1.0" encoding=" ...
- Android中的相对布局
文章目录 1 Android中的相对布局 1.1 相对布局的重要属性 1.2 相对布局示例 1 Android中的相对布局 1.1 相对布局的重要属性 相对于父容器(取值:true/false),如: ...
- Android中的常见布局
文章目录 1 常见布局 2 创建布局的方式 1 常见布局 Android中的常见布局如下: 线性布局(LinearLayout): 相对布局(RelativeLayout): 帧布局(FrameLay ...
- Android 中LayoutInflater(布局加载器)之介绍篇
本文出自博客Vander丶CSDN博客,如需转载请标明出处,尊重原创谢谢 博客地址:http://blog.csdn.net/l540675759/article/details/78099358 前 ...
- 1._请写出5种以上的android中界面常用布局方式,跳槽季“充电宝”Android面试题(一)...
1.请介绍下Android中常用的5种布局 Android中常用的5种布局分别为:FrameLaout(框架布局).LinearLayout(线性布局).AbsoluteLayout(绝对布局).Re ...
最新文章
- Canvas入门-利用Canvas绘制好玩的电子时钟
- 解决“ORA-01036: 非法的变量名/编号“错误
- node-rsa加密,java解密调试
- flip java_java的flip(). 这里用flip()有什么作用?这是反转缓冲区的方法,好像用不上。...
- 嵌入式基础认识2:shell脚本的一些简单语法规则
- JAVA-date(计算时间差)
- Java核心技术 卷II 高级特性 原书第9版pdf
- 2019.1.21jQuery
- Windows Server 2008R2配置ISCS存储
- select case when与IF的用法
- 1302数码管c语言程序,基于AVR单片机的DS1302数码管时间显示C语言程序设计
- VMware vSphere中资源池介绍
- hdu5773 The All-purpose Zero(LIS变形)
- fiddler抓手机APP包(安卓)
- PC版微信加密图片解密思路与代码实现_Python
- win10戴尔游侠GTX1050TI+TensorFlow-gpu+CUDA10.0.130+CUDNN7.4.1.5配置深度学习环境
- resolution will not be reattempted until the update interval of XXX has elapsed or updates are force
- 电子签名生成的图片为空白,以及生成透明底签名图片转为白色底
- STM32F4xx的时钟树
- C语言详细知识点(上)
热门文章
- 考研总结——2018北航计算机学院
- Java编程:数组遍历的基本案例
- redis源码分析之ae_epoll.c
- tomcat8集群+nginx1.8+redis
- 5.算法进阶——kafka消息查询(二分法)——稀疏索引与B+树索引的对比
- Linux-系统管理14-文件系统与日志
- 大数据解读B站火过蔡徐坤的“鬼畜“区巨头们
- 实现android三页面跳转的简单跳转
- 什么是PV、UV、PR
- 从键盘输入一个月号(1-12),并显示该月号的英文名称