- 浏览: 615630 次
- 性别:
- 来自: 厦门
文章分类
最新评论
-
咖啡舞者:
现在在厦门工作还好吧。
2013换工作记 -
huih1984:
工作8年,算起来楼主和我差不多岁数啊, ,本人现在干着没有合同 ...
2013换工作记 -
无心流泪wan:
乘法法则规定复数的乘法按照以下的法则进行:设z1=a+bi,z ...
帮朋友做的一笔试(友元 运算符重载) -
我叫营长1:
谢谢,很详细呢
SharedPreferences 的用法 -
javalinjx:
挺有意思的。哈哈
2013换工作记
开发过Android应用的同学们都知道,Android工程-res-layout资源文件夹下存放着控制view布局的xml文件,我们可以同过 getViewById(int i)方法,从XML中构造view及其子类,在这个过程当中,XML文件中的一切layout属性也将被赋予这个view。当然,我们也能够通过代码来为 某一个view来设置layout,那是后话。通过对集中layout的分析和比较我发现,Android中AbsoluteLayout与CSS的绝对 定位很像,TableLayout与HTML的表格定位很像,而RelativeLayout与CSS的相对定位很像。前两者都已经是老生常谈了,我重点 比较一下最后一对,即RelativeLayout与CSS的相对定位(Position:relative)。先看一段XML:
< RelativeLayout
xmlns:android ="http://schemas.android.com/apk/res/android"
android:layout_width ="fill_parent" android:layout_height ="fill_parent"
android:orientation ="vertical" >
< RadioGroup android:id ="@+id/radioGroup"
android:layout_width ="fill_parent" android:layout_height ="167px"
xmlns:android ="http://schemas.android.com/apk/res/android"
android:orientation ="vertical" >
< RadioButton android:id ="@+id/Queen"
android:layout_width ="wrap_content"
android:layout_height ="wrap_content" android:text ="@string/Queen" >
</ RadioButton >
< RadioButton android:id ="@+id/Rook"
android:layout_width ="wrap_content"
android:layout_height ="wrap_content" android:text ="@string/Rook" >
</ RadioButton >
< RadioButton android:id ="@+id/Knight"
android:layout_width ="wrap_content"
android:layout_height ="wrap_content" android:text ="@string/Knight" >
</ RadioButton >
< RadioButton android:id ="@+id/Bishop"
android:layout_width ="wrap_content"
android:layout_height ="wrap_content" android:text ="@string/Bishop" >
</ RadioButton >
</ RadioGroup >
< Button android:id ="@+id/promotion"
android:layout_width ="wrap_content"
android:layout_height ="wrap_content" android:layout_below ="@id/radioGroup"
android:text ="@string/promote" />
</ RelativeLayout >
上面一段XML,这是我为Android国际象棋游戏中的一个“兵行底线”编写的Custom Dialog(自定义对话框)的XML
layout。在这里简单定义了几个控件(来自于android.wedget包)的一些位置和外观。可以看到,根节点RelativeLayout告诉
我们这是相对定位的布局,然后从上至下由一个RadioGroup(内含四个RadioButton)以及一个Button。通过最下面的
android:layout_below属性,告诉Button要在radioGroup下面呈现。
这是一个非常简单的属性,在relativeLayout下,还有很多属性,见下表
android:layout_above | Positions the bottom edge of this view above the given anchor view ID. | |
android:layout_alignBaseline | Positions the baseline of this view on the baseline of the given anchor view ID. | |
android:layout_alignBottom | Makes the bottom edge of this view match the bottom edge of the given anchor view ID. | |
android:layout_alignLeft | Makes the left edge of this view match the left edge of the given anchor view ID. | |
android:layout_alignParentBottom | f true, makes the bottom edge of this view match the bottom edge of the parent. | |
android:layout_alignParentLeft | If true, makes the left edge of this view match the left edge of the parent. | |
android:layout_alignParentRight | If true, makes the right edge of this view match the right edge of the parent. | |
android:layout_alignParentTop | If true, makes the top edge of this view match the top edge of the parent. | |
android:layout_alignRight | Makes the right edge of this view match the right edge of the given anchor view ID. | |
android:layout_alignTop | Makes the top edge of this view match the top edge of the given anchor view ID. | |
android:layout_below | Positions the top edge of this view below the given anchor view ID. | |
android:layout_centerHorizontal | If true, centers this child horizontally within its parent. | |
android:layout_centerInParent | If true, centers this child horizontally and vertically within its parent. | |
android:layout_centerVertical | If true, centers this child vertically within its parent. | |
android:layout_toLeft | Positions the right edge of this view to the left of the given anchor view ID. | |
android:layout_toRight | Positions the left edge of this view to the right of the given anchor view ID. |
我相信大家的英文水平,这段从API上抄下来的东西我就不翻译了。但是可以看出来,只要设置上面的属性(不一定要全部),我们可以轻松规定一个控件
(View)的在相对定位下的显示行为。同时RelativeLayout是从layout上继承下来的,因此layout的很多属性也可以在这里使用,
包括:android:layout_height
, android:layout_width
,
这不由的让人联想到我们对HTML中元素定位的流行做法——div+float。在CSS中,如果我们要控制一个元素(通常是一个div)的显示,就要用 到填充距属性(Padding-top、Padding-right、Padding-bottom、Padding-left)与边框属性 (Border-top-width、Border-right-width、Border-bottom-width、Border-left- width、Border-width 、Border-color、Border-style、Border-top、Border-right、Border-bottom、Border- left、Width、Height、Float、Clear)。CSS并没有像Android的layout一样定义了很多对齐,但是通过float和 clear一样可以呈现出漂亮的网页(通过float完全可以实现Android中alignXXX与alignParentXXX的功能)。
同样的,XML的分层结构也和HTML的嵌套<div></div>极为相似,把layout从代码里分离也与CSS外部样式表的思想相同。据说WPF也是运用了外部XML文件来控制UI,看来都受到了启发。
另外,Android的layout与Swing的layout有很好的对应,但是我的J2SE学得很差,等我研究研究之后再进行分析和比较吧。
缥缈落花街 月圆月缺 望峦山平川 雁返君未还 怆然晚春残 忆天上人间
发表评论
-
Android 数字签名
2012-02-07 10:57 3443Android 数字签 ... -
智能校车---校车解决方案
2012-01-30 13:37 1442... -
搭公司班车的随想
2011-09-19 15:00 2018每天早上要去搭公司的厂车,大致厂车8:03分经过X ... -
android 对于apk签名汇总
2011-09-15 14:10 1665Android签名主要采用keytool和jarsigner ... -
Failed to install on device ‘emulator-5554′: timeout
2011-09-15 09:52 3855启动android模拟器时候如果提示:Failed to in ... -
eoe特刊
2010-11-26 10:23 1737为解决一些朋友从eoe论坛下载时要扣论坛币,需要注 ... -
android金逸电影院客户端
2010-10-27 15:32 1932金逸电影院在全国都有各分院,至少在福州大家去看电影一般是去金逸 ... -
豌豆荚手机精灵试用测试
2010-10-27 09:09 1348顶着创新工厂作品的豌豆荚手机精灵,在下载后使用后, ... -
我看IPhone
2010-10-15 14:58 1548本人是个android爱好者,从使用手机上看,个人还 ... -
巧用优酷
2010-08-27 17:26 1319要做一个培训的项目,其中有一会是视频播放,想了半天 ... -
【转】Android开发者必须深入学习的10个应用开源项目
2010-08-26 17:34 3561Android开发又将带来新一 ... -
App Inventor for Android 使用总结
2010-08-25 17:31 2309昨日我们报道了Google ... -
could not find virtual device named 'XXX' 的解决方法
2009-11-16 10:41 4929在SDK1.5中运行程序要选择avd才能运行。也就是要创建av ... -
如何得到短信inbox收件箱的短信
2009-11-13 16:46 2350原来android中的短信UI设计是没有区分inbox和out ... -
andriod 获得机型信息
2009-10-30 14:43 2034Andriod 要获得机型信息,需要得到授权。 对于模拟器, ... -
做完一个功能,记录一下总结
2009-08-14 15:46 1305每次做完一个东西,总有一点东西能总结出来。 这次是做一个检验 ... -
下载安装Cygwin
2009-08-10 15:14 2188http://www.programarts.com/cfre ... -
Cygwin完全下载指南(上)-正常下载篇
2009-08-10 14:55 4201http://www.gd-emb.com/detail/id ... -
使用java写tcp服务端
2009-08-07 16:27 4350因为要和另一家公司合作,就需要一下测试的服务器端,很简单,发一 ... -
成功开发iPhone软件的10个步骤
2009-08-07 10:53 1739一年前斯坦福和Apple联手推出了基于iPhone 平台 ...
相关推荐
`apktool`是一个开源的Android反编译工具,它能够帮助我们解包APK,反编译其中的XML和布局文件(layout),并提供重新打包和签名的功能,以实现对APK的分析和修改。 首先,`apktool`的基本使用流程如下: 1. **...
在本章节中,“Google.Android开发入门与实战第12章.Android综合案例一——RSS阅读器实例”主要聚焦于Android应用程序开发中的一个实际应用场景——构建一个RSS阅读器。这个实例将帮助初学者理解如何将Android SDK的...
XmlLayout是针对Unity3D引擎UGUI系统的插件,它引入了一种新的方式来设计和管理用户界面(UI)布局,灵感来源于HTML和CSS。这个插件的核心特性是使用XML格式来定义UI元素及其样式,这使得开发者可以更加灵活且高效地...
学习Android有一段时间了,虽然前段时间对软件测试有了一些了解,不过接触android的单元测试却是头一次。这几天在物流大赛上也用了不少时间,所以对于android的单元测试没有太深入的研究,所以先写个基本入门吧!...
IOS应用源码——XML解析.zip
在本项目中,"AndroidStudio————实战演练——仿美团外卖菜单"是一个专注于使用Android Studio开发的应用程序实战案例,目标是创建一个类似于美团外卖的菜单功能。这个项目涵盖了多个Android开发的关键知识点,...
《即用即查——XML数据标记语言参考手册》是一本专为XML技术的学习者和实践者准备的详尽参考资料,由左伟明编著,旨在深入解析XML的核心技术和网络开发中的应用,帮助读者快速掌握XML的实用技能。本书涵盖了XML的...
Android学习笔记(一)——创建第一个Android项目 Android学习笔记(二)android studio基本控件及布局(实现图片查看器) Android学习笔记(三)android studio中CheckBox自定义样式(更换复选框左侧的勾选图像) ...
本资料包“安卓Android源码——比较通用的xml解析方法”将深入探讨在Android平台上解析XML的多种方法。 1. DOM解析器(Document Object Model) DOM解析器将整个XML文档加载到内存中,创建一个树形结构,便于遍历和...
这个"android应用小程序———计算器源码"就是一个完整的实例,展示了如何使用MyEclipse这一集成开发环境(IDE)来构建一个功能完备的Android计算器。这份源码对于初学者或有经验的开发者来说,都是一个很好的学习和...
转载: 你所不知道的XML安全——XML攻击方法小结. XML可扩展标记语言,被设计用来传输和存储数据,其形式多样。某些在XML中被设计出来的特性,比如 XML schemas(遵循XML Schemas 规范)和documents type definitions...
这个"安卓Android源码——安卓Android Layout UI 首页加载过渡动画,星期变化动画.rar"文件包含了实现这些效果的相关资源和代码。 首先,我们要理解布局(Layout)在安卓开发中的角色。布局是用户界面的基础,它...
CSS则是用来描述HTML或XML(包括如SVG、MathML等各种XML方言)文档样式的样式表语言。它允许开发者控制网页的布局,包括颜色、字体、大小、间距、排列方式以及更多视觉效果。CSS使用选择器来选取要应用样式的元素,...
这个"安卓Android源码——结合html5jscss测试程序附源码.zip"压缩包提供了一个实际的示例,名为"AndroidJsTest",用于帮助开发者理解和实践这种混合式移动应用开发技术。 首先,让我们了解一下Android源码。Android...
这个实例开发源码——XML多风格留言本,结合了ASP技术和XML(Extensible Markup Language)来实现一个灵活可定制的留言系统。XML是一种结构化数据存储格式,允许开发者以清晰、可扩展的方式组织数据。 在ASP中,...
这个压缩包文件"安卓Android源码——(RadioButton与监听).zip"很可能包含了关于如何在Android应用中使用RadioButton以及如何实现点击事件监听的相关示例代码。 RadioButton是Android SDK中的android.widget....
根据提供的文件信息,我们可以提取并总结出以下与“Android开发——获取服务器返回的xml文件”相关的知识点: ### 一、Android应用中获取服务器XML数据的基本流程 #### 1. 准备工作 - **确定URL地址**:首先明确...
"动手学Android之十三——动起来例子程序"是一个专门针对Android动画的学习资源,旨在帮助开发者全面理解并掌握Android平台上的动画技术。这个程序实例涵盖了Android动画的各个方面,从基本的平移动画、旋转动画到更...
9. **测试与调试**:确保在不同设备和Android版本上测试下拉刷新功能,修复可能出现的问题。 以上就是关于Android下拉刷新功能的基本实现,特别是使用RTPullListView的情况。虽然没有具体代码,但这些步骤应该能...