ViewStub

ViewStub 与 View.GONE 的比较

  • ViewStub延迟加载指定的布局, 比View.GONE节省资源, 在显示之前是不占用资源的
  • 使用View.GONE属性布局在界面加载时仍会创建对象, 耗费内存

ViewStub 的显示

  • ViewStub在界面加载时不创建, 设置可见或.inflate();才会创建并显示里面的内容
  • ViewStub对象只可以使用inflate()一次, 即开始占用内存
  • 在ViewStub在界面上创建之前调用它的布局中的控件(findViewById)会出错
  • android:id在ViewStub不可见前使用(可见后失效), android:inflatedId 在可见之后使用

使用例子

布局文件中

java代码中

viewStub.inflate();或viewStub.setVisibility(View.VISIBLE);后, 指定的布局加载到界面上


之后可以通过设置可见性出现隐藏, 不过ViewStub事实上还是处于在界面上
不支持使用 标签的 Layout 。

0 Comments
Leave a Reply