对于一个Android应用程序来说,界面是其非常重要的因素。Android应用程序的界面由View和ViewGroup两类元素组成,其中ViewGroup元素也是一种View,它是View的组合。应用程序的界面的构建方式有两种,一种是通过利用XML定义界面,另一种是编程的方式。
基于XML创建Android用户界面的过程
第一步,首先以下面类似的XML格式定义了界面的UI元素:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Hello, Android World"
/>
</LinearLayout>
第二步,在Activity类的onCreate()方法中通过setContentView()方法加载XML文件定义的UI组件。
package android.learn;
import android.app.Activity;
import android.os.Bundle;
public class SimpleActivity extends Activity
{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.simple);
}
}
第三步:运行时,Android系统加载XML文件并创建相应的Android界面元素类View或ViewGroup对象,搭建UI界面。
以编程的方式创建用户应用程序界面
下面程序以编程的方式创建与上述XML文件定义的相同的界面:
package android.learn;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
import android.view.ViewGroup;
import android.widget.LinearLayout;
public class SimpleActivityWithProgrammedUI extends Activity
{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
LinearLayout layout = new LinearLayout(this);
layout.setOrientation(LinearLayout.VERTICAL);
layout.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT,
ViewGroup.LayoutParams.FILL_PARENT));
final TextView helloView = new TextView(this);
helloView.setText("Hello, Android World");
helloView.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT));
layout.addView(helloView);
super.setContentView(layout);
}
}
在实际开发界面时,往往将以上两种方式结合起来,对于变化小、行为比较简单的组件放在XML文件中管理,将变化大、行为比较复杂的组件通过编程的方式构建和管理。
参考文献
- Wei-Meng Lee. Beginning Android 4 Application Development. John Wiley & Sons, Inc. 2012.
- 李刚. 疯狂Android讲义. 电子工业出版社. 2011.
- http://wear.techbrood.com/reference/