将UI从代码中解放出来
做软件开发的,大多都有过频繁修改界面的痛苦经历的,改着改着,一些先知先懒的牛人,就创造了许多应对之道,如大名鼎鼎的MVC模式的应用。
一如Google宣导的简单美学,Android SDK也为我们考虑了界面修改问题,并解决得很简单。采用了目前比较流行的解决方案,即将界面的描述代码,抽取到外部的XML文件中。
继续我们的Hello World项目,我们将原来写在MyActivity.java中的界面代码,抽取到外部的XML文件中。首先,在项目中的res/layout目录下,新建mylayout.xml文件,内容如下:
<linearlayout href="http://schemas.android.com/apk/res/android" xmlns:android="”&lt;a">http://schemas.android.com/apk/res/android”
android:orientation=”vertical”
android:layout_width=”fill_parent”
android:layout_height=”fill_parent”
>
</linearlayout>
保存,这时,我们打开com.test.R.java看一下,多了一行,R.java文件不能手工修改,这里的内容是由插件自动同步修改的:
public final class R {
public static final class attr {
}
public static final class drawable {
public static final int icon=0×7f020000;
}
public static final class layout {
public static final int main=0×7f030000;
public static final int mylayout=0×7f030001;
}
public static final class string {
public static final int app_name=0×7f040000;
}
}
然后打开MyActivity.java,修改如下:
super.onCreate(icicle);
setContentView(R.layout.mylayout);
R.layout.mylayout会到/res/layout中找到mylayout.xml,并解析,最终生成界面。
运行一下吧,吼吼。
上一篇: 向 JavaScript 说“不”