Android中ViewStub组件使用
来源:互联网 发布:java中构造方法的使用 编辑:程序博客网 时间:2024/06/07 21:53
1. 概述:
ViewStub组件和<include>标签的作用类似,主要是为了提高布局的重用性,及布局的模块化。它们之间最大的差别是,ViewStub中的布局不会随着它所在布局的渲染而渲染,而<include>标签中的布局会随着它所在布局的渲染而渲染,ViewStub中的布局只有在你需要的时候才会渲染到主界面中。
2. 效果图:
(1)在ButtonOne与ButtonTwo之间存在一个ViewStub布局,如下图:
(2)单击ButtonOne后渲染ViewStub中的布局,如下图:
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();
- }
- }
- });
- }
- }
0 0
- Android中ViewStub组件使用
- Android中ViewStub组件使用
- Android中ViewStub组件使用
- Android中ViewStub组件使用
- Android中ViewStub组件使用
- Android中ViewStub组件使用
- Android中ViewStub组件使用
- Android中ViewStub组件
- Android中ViewStub的使用
- Android中ViewStub的使用
- Android中ViewStub控件分析及使用
- Android中使用ViewStub提高布局性能
- Android ViewStub的使用
- Android ViewStub控件使用
- android viewstub使用注意
- Android ViewStub基本使用
- android ViewStub的使用
- android中<include><merge><ViewStub>
- 如何在eclipse平台上配制开发javaFX应用
- TCP三次握手/四次挥手详解
- [Practical.Vim(2012.9)].Drew.Neil.Tip49 学习摘要
- 24L01
- HDU 2006-2009
- Android中ViewStub组件使用
- HttpClient的使用指南
- 浅谈随机森林在人脸对齐上的应用~
- error: stray ‘\357’ in program
- HDU4115.Eliminate the Conflict(剪刀石头布)——2-sat可行性判断
- 解决Myeclipse/Eclipse使用SVN插件,checkout本地SVN仓库错误
- C语言杂记1
- 简述RFID系统的时隙ALOHA算法的工作过程
- android开发使用greenDAO如何自动生成代码