位置: 编程技术 - 正文
推荐整理分享ViewStub的实战开发(viewstock),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:viewsplit,views about,viewstation,viewstock,viewsplit,viewstock,viewsetup,viewsetup,内容如对您有帮助,希望把文章链接给更多的朋友!
一.常见的布局分析
在开发的时候,有些布局是要根据条件而动态显示,达到一个布局两用的效果,运用View.VISIBLE和View.GONE去改变布局的可见性,
这样的做法显然是没什么多大的问题,优点逻辑清晰,控制灵活,但缺点就是耗费资源,在setContentView()或者用inflate加载布局文件时,无论View是否被设置为View.GONE(隐藏)和View.VISIBLE(可见),都会创建对象,占用一点程度上的内存,所以在考虑优化程序的时候,
尽量避免资源浪费,降低程序的资源占有量,提高响应速度,提升软件的用户体验。
二.ViewStub的介绍
1.其实Google在android1.0发布的时候,就提供了android.view.ViewStub类,继承于android.view.View,是一个轻量级的View,不占用布局的位置(相对于View设置了View.GONE效果),占用资源小,性能尤佳等特点;
2.使用ViewStub两个属性: 1)android:inflatedId :重新定义引用布局文件根元素Id,运用inflateId要注意两点: a.可以不用设置; b.在ViewStub设置inflatedId,无论引用布局文件的根元素Id是否设置,都将被inflateId所代替, 那么布局文件本身的Id会重置,即没有了,如果被实例化使用,将会报空指针异常: java.lang.NullPointerException;
2)android:layout:引用布局文件,需独立的layout文件,类include的layout属性,这个属性必须要设置否则报错: java.lang.IllegalArgumentException: ViewStub must have a valid layoutResource 3.ViewStub的使用 ViewStub有个特点,它只能被inflate一次,之后会被置空,如果再次使用inflate时,则会报空指针异常, 所以ViewStub也不是万能的,如果是经常要来回切换ViewStub的显示和隐藏,ViewStub就不适用,但有个办法 可以控制引用布局里的View的可见性,在一定程度上,可以控制可见性;
三.开发实战
1.MainActivity.java
2.activity_main.xml
3.viewstub_demo_textview.xml
4.viewstub_demo_textview.xml
使用maven构建android项目 为什么引入maven构建方式做过java后台开发的人员应该都知道,maven使用解决依赖包管理问题的,同时优化测试,打包,部署等流程的.在android里,maven可以管
Android View 事件分发机制 源码解析 一直想写事件分发机制的文章,不管咋样,也得自己研究下事件分发的源码,写出心得~首先我们先写个简单的例子来测试View的事件转发的流程~1、案例
[安卓]手机管家(九)高级工具之号码归属地查询 JSON解析也可以实现,但是需要联网,现在可以做一个离线版第一个activity是一个工具列表,归属地查询是其中之一,我们需要另一个activity来显示查询页
标签: viewstock
本文链接地址:https://www.jiuchutong.com/biancheng/380998.html 转载请保留说明!友情链接: 武汉网站建设