WEB开发网
开发学院手机开发Android 开发 Android UI学习 - FrameLayou和布局优化 阅读

Android UI学习 - FrameLayou和布局优化

 2010-05-06 16:09:00 来源:WEB开发网   
核心提示:attachToRoot)指定一个ViewGroup 作为其容器,并且要设置attachToRoot 为true,Android UI学习 - FrameLayou和布局优化(3),< include > 重用layout代码如果在某个布局里面需要用到另一个相同的布局设计,可以通过< include
attachToRoot)指定一个ViewGroup 作为其容器,并且要设置attachToRoot 为true。

< include > 重用layout代码

如果在某个布局里面需要用到另一个相同的布局设计,可以通过< include > 标签来重用layout代码:

1. < ?xml version="1.0" encoding="utf-8"? >

2. < LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

3. android:orientation="vertical"

4. android:layout_width="fill_parent"

5. android:layout_height="fill_parent" >

6.

7. < include android:id="@+id/layout1" layout="@layout/relative" / >

8. < include android:id="@+id/layout2" layout="@layout/relative" / >

9. < include android:id="@+id/layout3" layout="@layout/relative" / >

10.

11. < /LinearLayout >

效果图

include

这里要注意的是,"@layout/relative"不是引用Layout的id,而是引用res/layout /relative.xml,其内容是前面文章介绍RelativeLayout的布局代码。

另外,通过< include >,除了可以覆写id属性值,还可以修改其他属性值,例如 android:layout_width,android:height等。

< viewstub > 延迟加载

(转自http://rainhomepage.appspot.com/2010/01/use-viewstub-to-optimize-the-layout-of)

ViewStub 是一个不可见的,大小为0的View,最佳用途就是实现View的延迟加载,在需要的时候再加载View,可Java中常见的性能优化方法延迟加载一样。

当调用ViewStub的setVisibility函数设置为可见或则调用 inflate初始化该View的时候,ViewStub引用的资源开始初始化,然后引用的资源替代ViewStub自己的位置填充在ViewStub的 位置。因此在没有调用setVisibility(int) 或则 inflate()函数之前 ViewStub一种存在组件树层级结构中,但是由于ViewStub非常轻量级,这对性能影响非常小。 可以通过ViewStub的inflatedId属性来重新定义引用的layout id。 例如:

1. < ViewStub android:id="@+id/stub"

2. android:inflatedId="@+id/subTree"

3. android:layout="@layout/mySubTree"

上一页  1 2 3 4  下一页

Tags:Android UI 学习

编辑录入:coldstar [复制链接] [打 印]
赞助商链接