Android中ViewStub组件使用
2011-03-10 22:38
519 查看
1. 概述:
ViewStub组件和<include>标签的作用类似,主要是为了提高布局的重用性,及布局的模块化。它们之间最大的差别是,ViewStub中的布局不会随着它所在布局的渲染而渲染,而<include>标签中的布局会随着它所在布局的渲染而渲染,ViewStub中的布局只有在你需要的时候才会渲染到主界面中。
2. 效果图:
(1)在ButtonOne与ButtonTwo之间存在一个ViewStub布局,如下图:
![](http://hi.csdn.net/attachment/201103/10/1231874_1299767452vRJR.png)
(2)单击ButtonOne后渲染ViewStub中的布局,如下图:
![](http://hi.csdn.net/attachment/201103/10/1231874_1299767461Ao8b.png)
3. 实现代码:
(1)res/layout/main.xml实现:
(2)main.xml中ViewStub组件里的布局实现:
(4)主Activity实现:
ViewStub组件和<include>标签的作用类似,主要是为了提高布局的重用性,及布局的模块化。它们之间最大的差别是,ViewStub中的布局不会随着它所在布局的渲染而渲染,而<include>标签中的布局会随着它所在布局的渲染而渲染,ViewStub中的布局只有在你需要的时候才会渲染到主界面中。
2. 效果图:
(1)在ButtonOne与ButtonTwo之间存在一个ViewStub布局,如下图:
![](http://hi.csdn.net/attachment/201103/10/1231874_1299767452vRJR.png)
(2)单击ButtonOne后渲染ViewStub中的布局,如下图:
![](http://hi.csdn.net/attachment/201103/10/1231874_1299767461Ao8b.png)
3. 实现代码:
(1)res/layout/main.xml实现:
]<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android = "http://schemas.android.com/apk/res/android" android:orientation = "vertical" android:layout_width = "fill_parent" android:layout_height = "fill_parent" > <Button android:id = "@+id/show" android:text = "ButtonOne" android:layout_width = "wrap_content" android:layout_height = "wrap_content" /> <ViewStub android:id = "@+id/viewStub" android:layout = "@layout/green_layout" android:layout_width = "300dip" android:layout_height = "300dip" /> <Button android:layout_width = "wrap_content" android:layout_height = "wrap_content" android:text = "ButtonTwo" /> </LinearLayout>
(2)main.xml中ViewStub组件里的布局实现:
]<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android = "http://schemas.android.com/apk/res/android" android:layout_width = "match_parent" android:layout_height = "match_parent" android:background = "@color/green"> </LinearLayout>
(4)主Activity实现:
]package com.focus.fishme; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.ViewStub; import android.view.View.OnClickListener; import android.widget.Button; public class ViewStubActivity extends Activity { private ViewStub mViewStub; private Button mShow; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mViewStub = (ViewStub) findViewById(R.id.viewStub); mShow = (Button) findViewById(R.id.show); mShow.setOnClickListener(new OnClickListener() { public void onClick(View view) { if (mViewStub != null) { mViewStub.inflate(); } } }); } }
相关文章推荐
- Android中ViewStub组件使用(转)
- Android中ViewStub组件使用
- Android中ViewStub组件使用
- Android中ViewStub组件使用
- Android中ViewStub组件使用
- Android中ViewStub组件使用
- Android组件ViewStub基本使用方法详解
- (二十八) Android中ViewStub组件使用(转载自:http://blog.csdn.net/mayingcai1987/article/details/6238609)
- (转) Android中ViewStub组件使用
- Android应用开发中RecyclerView组件使用入门教程
- Android 快速实现 ViewStub的使用
- 【转】android新组件RecyclerView使用介绍和进阶使用,替用Gallery
- 【Android Training - Performance】提高显示布局文件的性能[Lesson 3 - 按需载入视图(ViewStub的使用方法)]
- Android使用ViewStub提高布局性能
- Android使用原生组件WebView加载网页和数据的方法
- Android 使用代码指定view组件在布局中的属性
- Android笔记---使用ViewFlipper组件实现文本上下滑动效果
- android新组件RecyclerView使用介绍和进阶使用,替用Gallery
- Android新组件RecyclerView的简单使用
- Android系列教程之TextView小组件的使用--附带超链接和跑马灯效果