推荐安卓开发神器(里面有各种UI特效和android代码库实例)

为了使用ViewStub,你所有需要做的是指定android:id特性,便于以后inflate,指定android:layout特性,引用布局文件。ViewStub还允许你使用第三个特性,android:inflatedId,你可以使用它来重写包含的布局文件中的根元素的id。最后,在ViewStub上设定的layout_*参数将会应用到包含的布局文件的顶部。这里有个例子:

<ViewStub
android:id="@+id/stub_import"
android:inflatedId="@+id/panel_import"
android:layout="@layout/progress_overlay"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom" />
当你准备inflate ViewStub时,调用inflate()方法即可。你还可以设定ViewStub的Visibility为VISIBLE或INVISIBLE,也会触发inflate。注意的是,使用inflate()方法能返回布局文件的根View:

((ViewStub) findViewById(R.id.stub_import)).setVisibility(View.VISIBLE);
// or
View importPanel = ((ViewStub) findViewById(R.id.stub_import)).inflate();
有一点需要记住的是:当ViewStub inflate后,这个ViewStub就从View层次中移除了。因此,没有必要保留一个对ViewStub的引用(如在类的字段里)。

ViewStub是快捷编程与高效编程之间的产物。与其手动的inflate View并在运行时添加到View层次上,不如简单的使用ViewStub。它相当“廉价”且易于使用。ViewStub唯一的缺点是现在不支持<merge />标签。

更多相关文章

  1. 手把手教你搞懂 Android(安卓)反编译
  2. Android中shape使用
  3. Android(安卓)Camera 使用小结
  4. Android中使用ormlite实现持久化(一)--HelloOrmLite
  5. Android(安卓)自动编译、打包生成apk文件 3 - 使用SDK Ant方式
  6. android标题栏的选择与使用,AppCompatActivity!
  7. Android中传感器Sensor的使用
  8. Android内核的简单分析
  9. Android中关于线程使用的几点注意事项

随机推荐

  1. 【1510-14】大规模登陆界面
  2. Android(安卓)的设计模式---责任链模式
  3. android 写入收件箱
  4. 监听android:drawableLeft和android:draw
  5. aaa
  6. android 写入收件箱
  7. Android那些事儿 成长中的Android(1)
  8. Android实现隐藏状态栏和标题栏
  9. android系统定制从听说到入门五
  10. Android与Unity交互研究