ViewStub踩坑

作者: 卡路fly | 来源:发表于2017-08-29 15:22 被阅读238次

ViewStub 是一个宽高都为0,不可见的(GONE),不参与measure与layout(绝大部分情况),不绘制任何东西,可以用来做懒加载的View,常用于布局优化。

<ViewStub android:id="@+id/stub"
          android:inflatedId="@+id/subTree"
          android:layout="@layout/mySubTree"
          android:layout_width="120dip"
          android:layout_height="40dip" />
 

ViewStub stub = findViewById(R.id.stub);
View inflated = stub.inflate();

优点

  1. 内存耗费很小

  2. 占位特性

  3. 不可见

  4. 一次调用

    ViewStub只能加载一次,重复加载会导致异常,这是因为ViewStub只要加载过一次,其自身就会被移除(并非销毁),把并自身所包含的内容全部传给父布局。


下面的才是关键:

当ViewStub里面的TextView进行文字改变的时候,宽度发生变化,可以使用以下方法进行处理:

private void setLatestWidth() {
        ViewGroup.LayoutParams params = mMsgUnreadLocationView.getLayoutParams();
        params.width = ViewGroup.LayoutParams.WRAP_CONTENT;
        mMsgUnreadLocationView.setLayoutParams(params);
}

相关文章

  • ViewStub踩坑

    ViewStub 是一个宽高都为0,不可见的(GONE),不参与measure与layout(绝大部分情况),不绘...

  • JavaScrip-StepPitGuide《JavaScrip

    《JavaScript踩坑指南》JavaScrip-StepPitGuide? 《JavaScript踩坑指南》 ...

  • 算法踩坑6-二叉搜索树排序

    背景 接上面五篇文章算法踩坑-快速排序 算法踩坑2-插入排序 算法踩坑3-堆排序 算法踩坑4-冒泡排序 ...

  • 算法踩坑5-归并排序

    背景 接上面四篇文章算法踩坑-快速排序 算法踩坑2-插入排序 算法踩坑3-堆排序 算法踩坑4-冒泡排序 来...

  • D1094:踩坑的价值最大化

    是人就会踩坑,不踩坑理论上就不属于人类,踩坑是人之常情,能回头站在坑边反思,才是对踩过的的坑价值最大化的体现,要不...

  • 交互设计师所要避免的几个坑

    前言 工作中难免会踩到几个坑,即使现在不踩以后还会踩,只有踩过才会深刻记住,踩过说明爱过!但是踩过的坑必须把坑填满...

  • Android中ViewStub原理解析

    本文主要从如下几点来学习ViewStub ViewStub是啥 ViewStub的属性解析 ViewStub的代码...

  • 踩坑,使用cocoaPods import导入时没有提示的解决办

    续上篇写的,踩坑,cocoaPods ---- framework not found Pods之后 ,又踩坑了。...

  • 2020-10-19随笔 踩坑0传值

    踩坑:当值传入0时,if条件判断时候会自己转换,记录踩坑。

  • 随笔

    读书啊,就是一个坑踩完了又掉进另一个坑,先说踩读书没用的坑,爬出来了,再踩读书要多的坑,之后再踩读书要精啊,读书要...

网友评论

    本文标题:ViewStub踩坑

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