安卓控件使用系列31:ViewStub惰性装载控件的使用方法
2015-10-03 22:10
549 查看
ViewStub是安卓中的动态装载控件,作用和include相似,可以加载其他的布局文件。下面我们来介绍一个这个控件的使用方法。
实现的是上面有一个星行,下面是两个按钮,点击按钮用于动态添加布局和动态隐藏布局。
整体思路:新建一个xml文件,添加一个RatingBar控件,在原来的xml文件中添加一个include,指向这个新的xml文件,再添加一个ViewStub控件和二个Button控件;在活动中设置两个按钮的OnClick事件,在其中一个中写入把新建的xml文件中的RatingBar控件绑定到ViewStub控件上,并设置初始·的星数;在另一个中隐藏这个ViewStub控件。
activity_main.xml文件:
next.xml文件:
实现的是上面有一个星行,下面是两个按钮,点击按钮用于动态添加布局和动态隐藏布局。
整体思路:新建一个xml文件,添加一个RatingBar控件,在原来的xml文件中添加一个include,指向这个新的xml文件,再添加一个ViewStub控件和二个Button控件;在活动中设置两个按钮的OnClick事件,在其中一个中写入把新建的xml文件中的RatingBar控件绑定到ViewStub控件上,并设置初始·的星数;在另一个中隐藏这个ViewStub控件。
activity_main.xml文件:
<!-- 静态加载布局文件 --> <include android:layout_width="wrap_content" android:layout_height="wrap_content" layout="@layout/next" /> <!-- 动态加载布局文件 --> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="#FFCCDD" > <ViewStub android:id="@+id/stub" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout="@layout/next" /> </LinearLayout> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="动态添加布局" /> <Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="动态隐藏布局" />
next.xml文件:
<RatingBar android:id="@+id/ratingBar1" android:layout_width="wrap_content" android:layout_height="wrap_content" />MainActivity.java文件:
private Button button1,button2; private ViewStub viewStub; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button1=(Button)findViewById(R.id.button1); button2=(Button)findViewById(R.id.button2); viewStub=(ViewStub)findViewById(R.id.stub); button1.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { //表示条填充动态布局 View view=viewStub.inflate(); LinearLayout layout=(LinearLayout)view; RatingBar bar=(RatingBar)layout.findViewById(R.id.ratingBar1); bar.setNumStars(3); } }); button2.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub viewStub.setVisibility(View.GONE);//隐藏动态加载的布局 } }); }
相关文章推荐
- 整数的四则运算
- Android ListView多布局复用ArrayIndexOutOfBoundsException问题
- 网上看到的X度移动端笔试题
- python第一课~兔子在欢乐的度假期~
- sql性能优化 - 数据库对象优化
- 一.Hibernate配置环境搭建
- sql性能优化 - sql查询优化
- 求出长度为1, 2, 3, 4, 5....的字符串最大出现次数 后缀数组 UVA 11855 - Buzzwords
- [java学习笔记]java语言基础概述之转义字符&break&continue
- 第二层内容:枚举
- android--day02(UI、事件)
- python之Numpy使用
- Opentack常用技巧
- 独立日记 2015年10月3日 变量名的力量
- BestCoder Round #58 (div.2)Card Game(hdu5494)
- ksh 文件测试
- 【Pascal】 天软提取期权数据代码
- Find the Duplicate Number【287】
- 基础知识点
- php第五章