- 浏览: 49582 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
endual:
...
判断是否有网络可用及获取联网方式 -
endual:
多谢,看来是被你说到核心上了,有人提出,在oncreate中实 ...
android.view.WindowManager$BadTokenException: Unable to add window错误 -
alexlikeask:
拜读了,谢谢!
android有效解决加载大图片内存溢出的问题
单独将<merge />标签做个介绍,是因为它在优化UI结构时起到很重要的作用。目的是通过删减多余或者额外的层级,从而优化整个Android Layout的结构。 将通过一个例子来了解这个标签实际所产生的作用,这样可以更直观的了解<merge/>的用法。 建立一个简单的Layout,其中包含两个Views元素:ImageView和TextView 默认状态下我们将这两个元素放在FrameLayout中。其效果是在主视图中全屏显示一张图片,之后将标题显示在图片上,并位于视图的下方。以下是xml代码: <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" <ImageView android:scaleType="center" <TextView android:padding="12dip" android:background="#AA000000" android:text="Golden Gate" /> </FrameLayout>应用上边的Layout运行的视图为: 启动 tools> hierarchyviewer.bat工具查看当前UI结构视图: 我们可以很明显的看到由红色线框所包含的结构出现了两个framelayout节点,很明显这两个完全意义相同的节点造成了资源浪费(这里可以提醒大家在开发工程中可以习惯性的通过hierarchyViewer查看当前UI资源的分配情况),那么如何才能解决这种问题呢(就当前例子是如何去掉多余的frameLayout节点)?这时候就要用到<merge />标签来处理类似的问题了。我们将上边xml代码中的framLayout替换成merge: <merge xmlns:android="http://schemas.android.com/apk/res/android"> <ImageView android:scaleType="center" <TextView android:padding="12dip" android:background="#AA000000" android:text="Golden Gate" /> </merge>运行程序后在Emulator中显示的效果是一样的,可是通过hierarchyviewer查看的UI结构是有变化的,当初多余的FrameLayout节点被合并在一起了,或者可以理解为将merge标签中的子集直接加到Activity的FrameLayout跟节点下(这里需要提醒大家注意:所有的Activity视图的根节点都是frameLayout)。如果你所创建的Layout并不是用framLayout作为根节点(而是应用LinerLayout等定义root标签),就不能应用上边的例子通过merge来优化UI结构。 除了上边的例子外,meger还有另外一个用法 当应用Include或者ViewStub标签从外部导入xml结构时,可以将被导入的xml用merge作为根节点表示,这样当被嵌入父级结构中后可以很好的将它所包含的子集融合到父级结构中,而不会出现冗余的节点。 另外有两点需要特别注意: <merge />只可以作为xml layout的根节点。
android:layout_width="fill_parent"
android:layout_height="fill_parent">
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:src="@drawable/golden_gate" />
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="20dip"
android:layout_gravity="center_horizontal|bottom"
android:textColor="#ffffffff"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:src="@drawable/golden_gate" />
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="20dip"
android:layout_gravity="center_horizontal|bottom"
android:textColor="#ffffffff"
当需要扩充的xml layout本身是由merge作为根节点的话,需要将被导入的xml layout置于 viewGroup中,同时需要设置attachToRoot为True。(更多说明请参见inflate()文档)
发表评论
-
Intent的Flags属性的作用
2011-08-28 17:18 1091Intent intent = new Intent(R ... -
比较好的urlconnection实现文件上传
2011-08-22 14:42 0import java.io.BufferedReade ... -
用Activity实现定制化的Dialog
2011-08-02 12:30 7891、在Activity中使用该视图: setContentV ... -
定义Activity跳转动画效果和获取sdk版本
2011-08-01 16:05 1080Intent intent = new Intent(t ... -
刘阳的总结
2011-07-29 18:20 0说明: 附件是word文档 作者:刘阳 QQ:406 ... -
至上传图片,不带参数
2011-07-25 12:18 0只上传图片等的方法: public static ... -
监听音量键(转载)
2011-07-23 19:24 975监听音量键 @Override public ... -
Listview显示网络图片
2011-07-19 18:26 5ViewCache 类的作用只是为了方便把ImagView ... -
创建一个简单的widget(转载自mars)
2011-07-18 17:16 8221 、创建一个AppWidgetProvider ... -
菜单的简单入门
2011-07-18 16:17 782public class WidgetActivity ... -
设置控件在整个页面的位置
2011-07-17 15:32 685改变UI中view的位置,用绝对布局比较方便。 imp ... -
创建菜单及处理点击事件
2011-07-17 11:42 780创建菜单,并在点击的某个菜单的时候跟菜单项id去处理逻辑 ... -
android 内嵌字体样式
2011-07-12 10:41 1065在Android中我们的应用可以灵活的内嵌自己的字体文件,实现 ... -
使用Pull解析器解析 xml
2011-07-12 09:52 826public void test1() throws Xm ... -
小控件的使用
2011-07-08 01:12 5531、当点击Menu键时,如果希望弹出菜单,则希望重写的方法如下 ... -
获取屏幕的分辨率
2011-07-03 23:46 731DisplayMetrics display = n ... -
android有效解决加载大图片内存溢出的问题
2011-07-03 22:20 1630尽量不要使用setImageBitma ... -
关于android:layout_x 与 android:layout_height
2011-07-03 19:47 1661关于 android:layout_x="0p ... -
关于getSystemService
2011-07-03 19:34 845getSystemService是Android很重要的一 ... -
关于在通知显示通知
2011-07-03 19:25 610@Override public void o ...
相关推荐
与beyondcompare工具差不多的使用方式,winmerge是开源免费版。当您有两个以上的内容相似的文字文件时,WinMerge就可以立刻派上用场,帮您检查两个文件里头不同之处。如您有写过程序就会了解,当您在改版时,在新的...
npm-merge-driver安装 自动合并package-lock.json冲突的软件包。 很大程度上基于 ,在软件包安装时进行自动设置,并且只有一个小的依赖项来进行ci检查。 用生成的目录 安装 安装运行 npm i --save-dev npm-...
文件比较,代码比较工具.程序员的有用工具,比较2个文本文件的不同,多种源文件存储格式,WinMerge-2.6.8官方下载.
auto-merge-language是自动替换Android项目中的strings.xml多语文案工具
WinMerge是一款文件夹及文件内容对比的工具,非常好用
WinMerge-2.6.14-exe
WinMerge-2.16.8-x64-Setup.exe
WinMerge-2.12.4-src(1).zip source WinMerge-2.12.4-src(1).zip source
通过merge-sort算法的实现,掌握外存算法所基于的I/O模型与内存算法基于的RAM模型的区别;理解不同的磁盘访问优化方法是如何提高数据访问性能的。
WinMerge-2503-Setup.exe
合并工具-WinMerge-2.4.10-Setup.exe
WinMerge-2.6.2-Setup
npm install --save-dev webpack-merge-and-include-globally 用法 假设您想使诸如jquery , moment (包括3种语言)和toastr在全球范围内可用,而您正在努力通过webpack使它们成为全局库,或者只是因为require()...
WinMerge-2.16.24,2022年10月版本
WinMerge-2.4.8-Setup
WinMerge-2.10.2-Setup.exe 文件比较、文件夹 比较工具,免费的
WinMerge-2.12.4-Setup.zip 代码对比工具
( WinMerge-2.11.1.8-Setup.zip )用于两个文件的比价,功能强大,好用
WinMerge是一款运行于Windows系统下的免费开源的文件比较/合并工具,使用它可以非常方便地比较多个文档内容甚至是文件夹与文件夹之间的文件差异。适合程序员或者经常需要撰写文稿的朋友使用
非常不错的文件对比工具,支持文件目录,支持压缩包内的文件对比。非常不错的文件对比工具,支持文件目录,支持压缩包内的文件对比。