ViewStub 与 View.GONE 的比较
- ViewStub延迟加载指定的布局, 比View.GONE节省资源, 在显示之前是不占用资源的
- 使用View.GONE属性布局在界面加载时仍会创建对象, 耗费内存
ViewStub 的显示
- ViewStub在界面加载时不创建, 设置可见或.inflate();才会创建并显示里面的内容
- ViewStub对象只可以使用inflate()一次, 即开始占用内存
- 在ViewStub在界面上创建之前调用它的布局中的控件(findViewById)会出错
- android:id在ViewStub不可见前使用(可见后失效), android:inflatedId 在可见之后使用
使用例子
布局文件中
1 2 3 4 5 6 7 8 9 |
<ViewStub android:id="@+id/viewstub" android:layout_width="match_parent" android:layout_height="100dp" android:layout="@layout/viewstub_layout" android:inflatedId="@+id/dddd" /> |
java代码中
viewStub.inflate();或viewStub.setVisibility(View.VISIBLE);后, 指定的布局加载到界面上
之后可以通过设置可见性出现隐藏, 不过ViewStub事实上还是处于在界面上
不支持使用
0 Comments