`
- 浏览:
470676 次
-
滥用LAYOUT会导致initialization, layout and drawing become slower.
如果你在嵌套几个linearlayout时用到weight参数,他要求孩子被测量俩次,这尤其昂贵的。
在一个listview中,你假设让他的ITEM显示出下列的一种格式。
<
LinearLayout
xmlns:android
=
"http://schemas.android.com/apk/res/android"
android:layout_width
=
"fill_parent"
android:layout_height
=
"?android:attr/listPreferredItemHeight"
android:padding
=
"6dip"
>
<
ImageView
android:id
=
"@+id/icon"
android:layout_width
=
"wrap_content"
android:layout_height
=
"fill_parent"
android:layout_marginRight
=
"6dip"
android:src
=
"@drawable/icon"
/>
<
LinearLayout
android:orientation
=
"vertical"
android:layout_width
=
"0dip"
android:layout_weight
=
"1"
android:layout_height
=
"fill_parent"
>
<
TextView
android:layout_width
=
"fill_parent"
android:layout_height
=
"0dip"
android:layout_weight
=
"1"
android:gravity
=
"center_vertical"
android:text
=
"My Application"
/>
<
TextView
android:layout_width
=
"fill_parent"
android:layout_height
=
"0dip"
android:layout_weight
=
"1"
android:singleLine
=
"true"
android:ellipsize
=
"marquee"
android:text
=
"Simple application that shows how to use RelativeLayout"
/>
</
LinearLayout
>
</
LinearLayout
>
这个layout可以工作但是非常浪费,因为你对这个LISTVIEW的每一个list view都要实例化这么一大串。可以relativelayout重写。
<
RelativeLayout
xmlns:android
=
"http://schemas.android.com/apk/res/android"
android:layout_width
=
"fill_parent"
android:layout_height
=
"?android:attr/listPreferredItemHeight"
android:padding
=
"6dip"
>
<
ImageView
android:id
=
"@+id/icon"
android:layout_width
=
"wrap_content"
android:layout_height
=
"fill_parent"
android:layout_alignParentTop
=
"true"
android:layout_alignParentBottom
=
"true"
android:layout_marginRight
=
"6dip"
android:src
=
"@drawable/icon"
/>
<
TextView
android:id
=
"@+id/secondLine"
android:layout_width
=
"fill_parent"
android:layout_height
=
"26dip"
android:layout_toRightOf
=
"@id/icon"
android:layout_alignParentBottom
=
"true"
android:layout_alignParentRight
=
"true"
android:singleLine
=
"true"
android:ellipsize
=
"marquee"
android:text
=
"Simple application that shows how to use RelativeLayout"
/>
<
TextView
android:layout_width
=
"fill_parent"
android:layout_height
=
"wrap_content"
android:layout_toRightOf
=
"@id/icon"
android:layout_alignParentRight
=
"true"
android:layout_alignParentTop
=
"true"
android:layout_above
=
"@id/secondLine"
android:layout_alignWithParentIfMissing
=
"true"
android:gravity
=
"center_vertical"
android:text
=
"My Application"
/>
</
RelativeLayout
>
list item要显示的文字有俩行,如果其中一行不可见,application将简单的设置这个textview to GONE.
这个工作当用linealayout时表现很好,但是用relativelayout时则不行。
To solve this problem, you can use a very special layout parameter called alignWithParentIfMissing
.
参考:http://www.curious-creature.org/2009/02/22/android-layout-tricks-1/
通过HierarchyViewer你可以看出俩中形式,第二个每次创建一个list item时都会少创建一linearlayout
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
Trick
Hattrick球场上座率概算 Hattrick球场上座率概算
机器学习中为什么需要 Kernel Trick 以及 Kernel Trick 的证明。
arp_trick.tar.gz
linux shell trick
Python-trick,上传的事pdf文档
神经网络训练Trick,帮助炼丹!!!!
Hat Trick是Unity官方商店提供的5.5.0版本以上的一款游戏Demo。
重修 Slope Trick(看这篇绝对够!).doc
db_trick.sql
NIO trick and trap NIO,编写高性能Java NIO网络框架
由NASA约翰逊航天中心开发的Trick仿真环境是一个功能强大的仿真开发框架,使用户能够为航天器开发的所有阶段构建应用程序。 特里克(Trick)加快了仿真的创建过程,以进行早期飞行器设计,性能评估,飞行软件开发,...
zoj 2247 Magic Trick.md
python_trick_中文版.pdf
java协议的一些trick.pdf
dev分支是Trick插件的主要开发分支。 从dev克隆以创建功能/主题分支是首选方法。 为插件做贡献 插件源代码托管在。 新功能建议和错误修复应作为提交。 在GitHub上克隆存储库,准备对本地存储库的更改,然后提交拉取...
Hattrick Economy (haec) 是一种用于分析和预测 Hattrick 在线足球经理 (www.hattrick.org) 的经济数据的工具。
支持向量机之Kernel Trick.pdf