Android SDK 开发之定义布局
2010-03-23 04:41:00 来源:WEB开发网定义布局
布局指的是Activity中的UI的结构。它定义了布局结构并持有所有用户能看到的元素。你可以有两种方式来定义你的布局:
在xml中定义UI元素。Android提供了一整套和各种View类对应的易懂的xml语法,例如各种widget和layout等。
在运行时初始化Layout元素。你的应用程序可以使用代码创建View和ViewGroup对象。
Android框架通过这两种方法并存的方式提供了灵活的UI定义方式。例如,你可以在xml里定义你的应用程序的默认布局,并在运行时中修改屏幕上的对象。
Eclipse的ADT插件给你提供了xml中的布局预览——打开xml文件,并选择layout标签。
你也可以尝试一下层次浏览器工具(在sdk/tools下),用来调试布局——它显示了布局属性值,根据画出线图来表示padding/margin以及渲染后的view的外观。
layoutopt工具可以让你快速分析你的布局和层次是否有效率和其它的问题。
在 xml中定义UI的好处是它让你更好的将应用程序的外观和控制行为的代码分开。你的UI描述在应用程序的代码之外,这意味着你可以在不修改代码和重新编译的前提下修改UI。例如,你可以为不同的屏幕朝向,不同的屏幕大小和不同的语言设定不同的布局。另外,在xml中定义布局使得你的UI更加直观和容易调试(xml的结构比java代码更清晰)。本文介绍如何在xml中定义布局。
总的来说,定义UI的xml词汇和相应的类名、方法名是紧密相关的;xml的元素名对应类名,而xml的属性名对应方法名。事实上,它们之间的关系通常非常直接以至于你可以从xml属性名猜出方法名,或者从 xml元素猜出java类名。然而,注意不是所有的词汇都是相同的。在某情况下二者的命名有些小的区别。例如,EditText元素有一个text属性对应于一个叫做EditText.setText()的属性。
提示:Common Layout Objects一节中有关于不同布局类型的介绍。在Hello Views教程中也有一些关于创建不同的布局的教程。
Write the XML
为了阅读的方便,UI相关类的API参考文档列出了与类方法相对应的xml属性,包括继承属性。更多关于可用的xml元素和属性,以及xml格式的信息相见Layout Resources一节。
使用Android的xml词汇,你可以很快设计UI布局和它包含的各种屏幕元素,就像使用HTML来创建网页一样——使用一系列嵌套的元素。
Each layout file must contain exactly one root element, which must be a
赞助商链接