对Android窗体的组成部分进行研究分析

移动开发 Android
下面文章讲述的两个Android窗体都是采用了LinearLayout,其中包含一组的元素:一个按钮,几个标签,几个文本框。

Android窗体作为谷歌企业战略的重要组成部分,一个可扩展的视图(Views )可以用来建应用程序,包括列表(lists),网格(grids),文本框(text boxes),按钮(buttons),甚至包括一个可嵌入的web浏览器 。

文本框的width被设置为FILL_PARENT;其它元素的width被设置为WRAP_CONTENT。默认的对齐方式为左对齐。左边的窗体没有设置weight(默认为0);右边的窗体的comments文本框weight被设置为1。如果Name文本框也被设置为1,那么Name和Comments这两个文本框将会有同样的高度。

android

在一个水平排列的LinearLayout中,各项按他们的文本基线进行排列(第一列第一行的元素,即最上或最左,被设定为参考基线)。因此,人们在一个窗体中检索元素时,就不需要七上八下地读元素的文本了。我们可以在layout的XML中设置来关闭这个设置。

Android窗体的一个TableLayout由许多的TableRow组成,每个TableRow都会定义一个row(事实上,你可以定义其它的子对象,这在下面会解释到)。TableLayout容器不会显示row、cloumns或cell的边框线。每个row拥有0个或多个的cell;每个cell拥有一个View对象。

android

表格由列和行组成许多的单元格。表格允许单元格为空。单元格不能跨列,这与HTML中的不一样。下图显示了一个TableLayout,图中的虚线代表不可视的单元格边框。这个视图显示了屏幕元素的类名称,下面是每个元素的属性列表。这些属性一部份是由元素直接提供,另一部份是由容器的LayoutParams成员(RelativeLayout的子类)提供。

RelativeLayout参数有width,height,below,alignTop,toLeft,padding和marginLeft。注意,这些参数中的一部份。其值是相对于其它子元素而言的,所以才RelativeLayout。这些参数包括toLeft,alignTop和below,用来指定相对于其它元素的左,上和下的位置。

它采用了软件堆层(software stack,又名软件叠层)的架构,主要分为三部分:底层以Linux核心为基础,由c语言开发,只提供基本功能。中间层包括函数库Library和虚拟机Virtual Machine,由C+开发。最上层是各种应用软件,包括通话程序,短信程序等,应用软件则由各公司自行开发,以java编写。

为了推广此技术,Google和其它几十个手机公司建立了开放手机联盟(Open Handset Alliance)。Android窗体作为谷歌企业战略的重要组成部分,将进一步推进“随时随地为每个人提供信息”这一企业目标的实现。

全球为数众多的移动电话用户正在使用各种基于 Android 的电话。谷歌的目标是让(移动通讯)不依赖于设备甚至平台。出于这个目的,Android 将补充,而不会替代谷歌长期以来奉行的移动发展战略:通过与全球各地的手机制造商和移动运营商结成合作伙伴,开发既有用又有吸引力的移动服务,并推广这些产品。

【编辑推荐】

  1. 新一代的Android手机介绍
  2. 深度剖析Android SDK版本介绍
  3. 谷歌Android手机能否站稳中国
  4. PythonAndroid深度剖析Android应用程序的四种构 造块
  5. 探秘与众不同的Android系统?
责任编辑:chenqingxiang 来源: codinghorror
相关推荐

2010-03-02 13:23:11

Android手机程序

2009-09-08 09:37:03

LINQ重要组成部分

2009-12-24 16:36:27

ADO Connect

2009-06-04 07:55:08

Struts框架简介Struts

2009-07-28 15:28:35

ASP.NET AJA

2010-06-29 19:31:48

UML建模技术

2010-06-30 10:02:05

UML建模技术

2009-07-07 17:39:26

JSP系统

2010-01-22 18:41:32

Visual C++

2010-02-25 17:30:28

WCF服务系统

2009-12-24 16:56:21

ADO.NET库

2010-08-17 18:45:36

Android

2009-12-15 10:24:32

Visio 2008架

2010-02-26 15:37:11

Python主线程

2009-11-27 09:24:29

VS2003命令

2018-10-25 15:03:13

2016-11-25 09:48:54

Hadoop生态圈MapReduce

2021-12-12 08:35:13

数据策略数据数据分析

2023-07-04 15:54:39

数据测试数据质量开发

2009-12-24 14:54:25

ADO.NET使用
点赞
收藏

51CTO技术栈公众号