viewStub使用注意点

作者: 幸福的程序媛 | 来源:发表于2015-10-28 15:57 被阅读1007次

因特殊需求需要手动设置listview的高度值,listview的item里面有的item有的item使用了viewStub,来只在需要的时候infalte出布局,此时必须将viewStub的layout_height设置为固定值,如果使用wrap_content,即使在android:layout="@layout/inflated_layout"的inflated_layout里面的根布局指定具体高度,实际inflate出来的高度不是里面根布局指定的高度,在华为上测试inflate出来的布局高度大于根布局设置的具体高度.

这个问题导致我设置的listview的高度一直不准确,虽然是小知识点,但却困扰了我一天.仅此记录一下.

正确写法:

```

<ViewStub

android:layout_width="match_parent"

android:layout_height="30dp"

android:id="@+id/viewStub"

android:layout="@layout/linear_inflated"/>

```

错误写法:

<ViewStub

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:id="@+id/viewStub"

android:layout="@layout/linear_inflated"/>

结论:

ViewStub使用wrap_content设置layout_height,inflate出来的view所占的实际高度并非inflate的布局文件设置的高度,可能要大于它.

如果有同样需要手动设置listview高度的同学可以注意一下,感觉android在一些小地方经常有坑.

2016.11.15更新:

自定义View如果layout_height或者layout_width设置为wrap_content,则其宽高默认跟父容器的宽高相同

相关文章

  • viewStub使用注意点

    因特殊需求需要手动设置listview的高度值,listview的item里面有的item有的item使用了vie...

  • Android性能优化之一

    Viewstub使用

  • 启动优化实践

    1.ViewStub的使用 官方解释:A ViewStub is an invisible, zero-sized...

  • viewstub的使用

    viewstub的使用场景 viewStub的一些特性 viewStub只能inflate一次,之后viewStu...

  • Android 性能优化(UI渲染)

    注意事项: 布局优化;尽量使用include、merge、ViewStub标签,尽量不存在冗余嵌套及过于复杂布局(...

  • ViewStub--使用介绍

    (1)什么时候使用ViewStub?为什么使用ViewStub? 当我们需要根据某个条件控制某个View的显示或者...

  • ViewStub 使用

    概述 ViewStub初始不可见且大小为0 ViewStub可用于在运行时延迟扩展布局资源,可以避免资源浪费。在U...

  • ViewStub

    (1)什么时候使用ViewStub?为什么使用ViewStub?当我们需要根据某个条件控制某个View的显示或者隐...

  • Android优化篇 ViewStub按需加载布局

    原文链接 更多教程 你将学到 1.ViewStub标签的使用姿势2.ViewStub标签的使用例子3.ViewSt...

  • ViewStub 与 setTranslationX

    开发过程中有个地方使用了ViewStub,但是发现ViewStub调用setTranslationX之后并没有任何...

网友评论

本文标题:viewStub使用注意点

本文链接:https://www.haomeiwen.com/subject/hyoxhttx.html