利用ViewStub显示和隐藏布局
ViewStub的引入:
在开发的时候,有些布局是要根据条件而动态显示,达到一个布局两用的效果, 运用View.VISIBLEView.GONE去改变布局的可见性. 这样的做法显然是没什么多大的问题,优点逻辑清晰,控制灵活,但缺点就是耗费资源 在setContentView()或者用inflate加载布局文件时无论View是否 被设置为View.GONE和View.VISIBLE,都会建对象,占用一定程度上的内存,所以在考虑优化程序的时候, 尽量避免资源浪费,降低程序的资源占有量,提高响应速度,提升软件的用户体验所以建议使用viewstub
遇到的问题:
报错 ViewStub must have a non-null ViewGroup viewParent
原因:
官方文档:viewstub不能反复inflate,只能inflate一次
解决办法很简单,当inflate过进行标识,下次在使用的时候判断下,是否inflate了,如果有直接用,这样就可以避免
重复inflate了。是不是感觉viewsub非常好用,消耗性能低,不用每次都去inflate
参考blog
http://blog.csdn.net/hitlion2008/article/details/6737537
private void leftViewInit() { // viewsub 只能inflate一次 leftView = leftViewStub.inflate(); imgLeft = (ImageView) findViewById(R.id.imgLeft); imgLeft.setOnClickListener(this); leftIsInflate = true;//标识下 } public void setLeftButton(int res) { if (!leftIsInflate) {//如果已经inflate过就不用在进行重复的inflate leftViewInit(); } if (res > 0) { imgLeft.setBackgroundResource(res); } }
相关推荐
Android 使用ViewStub 实现Activity 页面不同状态动态切换。可以直接继承使用,也可以根据自己的需求进行优化。。
Android下使用ViewStub控件动态懒加载。可以参见博客:http://www.cnblogs.com/plokmju/p/android_ViewStub.html
利用ViewStub显示和隐藏布局 运用View.VISIBLE和View.GONE去改变布局的可见性.
第三章 Android开发 使用ViewStub延迟展开视图.docx
Android UI优化之merge标签的使用,主要介绍ViewStub方法使用的注意事项及方法实现。
这是一个关于Android Layout布局复用的简单示例。
DataBinding中ViewStub例子
本篇文章是对Android ViewStub的应用进行了详细的分析介绍,需要的朋友参考下
ViewStub是Android布局优化中一个很不错的标签/控件,直接继承自View。虽然Android开发人员基本上都听说过,但是真正用的可能不多。 ViewStub可以理解成一个非常轻量级的View,与其他的控件一样,有着自己的属性及...
android 用ViewStub实现Tab选项卡效果
惰性控件ViewStub实现布局东动态加载,在手机页面点击展开按钮,在按钮下方会出现一个页面。常用在查看商品的详细信息。
android viewstub功能的简单代码事例
在开发应用程序的时候,经常会遇到这样的情况,会在运行时动态根据条件来决定显示哪个View或某个布局。那么最通常的想法就是把可能... 推荐的做法是使用android.view.ViewStub,ViewStub是一个轻量级的View,它一个看
主要为大家详细介绍了Android布局技巧之使用ViewStub,具有一定的实用性,感兴趣的小伙伴们可以参考一下
BeautifulParallax Beautify your RecyclerViews with a great parallax effect ! Without Carpaccio public class YOURAdapter extends RecyclerView.Adapter { ... ParallaxViewController ...
在开发应用程序的时候,经常会遇到这样的情况,会在运行时动态根据条件来决定显示哪个View或某个布局。那么最通常的想法就是把...推荐的做法是使用android.view.ViewStub,ViewStub是一个轻量级的View,它一个看不见的
主要介绍了Android在layout xml中使用ViewStub完成动态加载问题,非常不错,具有参考借鉴价值,需要的朋友可以参考下
相信大家经常听到include、merge、ViewStub这样的标签,官方也提到这三种布局可用于布局的优化。今天就介绍下这三种布局的使用,记录下来,便于后续app中的使用。 include布局重用 app开发过程中,会遇到不同页面里...