使用延迟加载以及避免代码重复
​一.概要:
    <include />标签是整理布局的有效工具,提供了合理组织XML布局文件的有效方法。
    ViewStub是实现延迟加载视图的优秀类。无论在什么情况下,只要开发者需要根据上下文选择隐藏或则显示一个视图,都可以使用ViewSub实现。
    或许并不会因为一个视图的延迟加载而感觉到性能的明显提升,但是如果视图树的层次很深,便会感觉到性能上的 差距了。
二.代码:
  main.xml

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" > <Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:onClick="onShowMap"
android:text="@string/show_map" /> <ViewStub
android:id="@+id/map_stub"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:inflatedId="@+id/map_view"
android:layout="@layout/map" /> <include
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginBottom="30dp"
layout="@layout/footer" /> </RelativeLayout>

  footer.xml

 <?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center"
android:text="@string/footer_text" />

  MainActivity

 public class MainActivity extends MapActivity {

   private View mViewStub;

   @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mViewStub = findViewById(R.id.map_stub);
} public void onShowMap(View v) {
mViewStub.setVisibility(View.VISIBLE);
} @Override
protected boolean isRouteDisplayed() {
return false;
}
}

  Ps:对于<include />中用到的android:layout_width和android:layout_height的属性在被引用的布局文件中要申明为0;

   

最新文章

  1. Android 对话框弹出位置和透明度的设置
  2. (转载)c++builder/delphi中透明panel及透明窗口的实现方法_delphi教程
  3. c++ 中的8种智能指针[转]
  4. Android 网络通信框架Volley的简单使用
  5. ios7学习之路七(隐藏虚拟键盘,解决键盘挡住UITextField问题)
  6. iOS开发——delegate的相关警告
  7. 一个for循环打印二维数组
  8. [LeetCode] Maximum Swap 最大置换
  9. Textarea设置自动高度
  10. FZU 2285 迷宫寻宝
  11. 浅谈利用同步机制解决Java中的线程安全问题
  12. Lunar Lander 月球冒险
  13. Spring MVC相关
  14. kaggle PredictingRedHatBusinessValue 简单的xgboost的交叉验证
  15. Python Socket编程基础篇
  16. EBS查找当前Form文件
  17. IE10以下优雅降级(作为范例)
  18. js oop中的三种继承方法
  19. Web前端应该从哪些方面来优化网站
  20. Activity ViewPager Fragment框架的生命周期

热门文章

  1. 【转】jmeter压力测试
  2. Java-Runoob:Java 变量类型
  3. JS面向对象编程,对象,属性,方法。
  4. thinkphp实现多个子查询语句
  5. 接口规范,js处理json,php返回给ajax的数据格式
  6. mybatis foreach标签的解释 与常用之处
  7. AD芯片的基准参考电压问题
  8. 使用Docker模拟ansible集群环境
  9. oracle 11g 导出空表
  10. Deep Learning 学习笔记(2):多参数的线性回归