|
如何将介面升级到以XML方式来排板
在上一个章节,我们所介绍的「Hello,Android!」专案是用开发人员称之为程序化开发的介面,也就是说直接用程序码来建构使用者介面,但是,这样的建构介面的方式会发生许多问题,而小小的排版变动可能导致大部分的程序变更,最大的问题是容易忘记的是如何把正确的介面显示在萤幕上,这可能导致发生错误并浪费时间除错。
这也是为什麽Android SDK会提供另一种介面的建立模式,使用XML排版档案来记录介面的资料,最简单了解的方法就是看下述的范例,下面的XML排版档案内容就是跟刚编译的程序同样的的排版建构:
代码:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="Hello,Android!"/>
复制代码
在上述的XML档案中的标签(Tag)可以自由使用,结构也很简单,标签(Tag)的名称就是View物件的类别名称,在这个范例,标签(Tag)就只有一个「TextView」,开发人类可以使用任何继承自View物件的类别做为标签(Tag)名称,包含一些开发人员所做的类别,这样的结构比较容易快速建立界面,比起开发人员的程序码要简单的多了,这样的模式受到Web开发的启示,将参数从程序逻辑抽离只用来填入与取得资料。
在这个XML使用了一些属性,大致说明如下:
属性:xmlns:android
说明:名称空间宣告,让Android工具参考Android名称空间的一般属性,大部分的XML排版档必须使用这个名称空间。
属性:android:layout_width
说明:这个属性宣告View要占萤幕多少空间,在这个例子,唯一的View要占用全部的萤幕,所以使用「fill_parent」这个参数,就是填满的意思。
属性:android:layout_height
说明:就像android:layout_width的属性一样,除了它是指萤幕可用的高度。
属性:android:text
说明:设定TextView包含的文字属性,这上述的范例中,就是设定成「Hello,Android!」
那麽这个XML档案会放在那里呢?目前的设定是放到专案目录下的res目录底下的layout目录,预设的档案名称是main.xml。
下一步,打开Package Explorer下原始码目录内的R.java档案,看起来的内容如下所述:
代码:
public final class R {
public static final class attr {
};
public static final class drawable {
public static final int icon=0x7f020000;
};
public static final class layout {
public static final int main=0x7f030000;
};
public static final class string {
public static final int app_name=0x7f040000;
};
};
复制代码
Android专案的R.java档用来索引定义在这个档案的内里使用的资源,开发人员可以在程序码内使用这个类别来做为方便参考的索引记录。 |
|