使用Views创建Activity的UI

   

一个新的Activity以一个诱惑人的空屏幕开始,在其上你可以放置自己的UI。为了设置UI,调用setContentView方法,传递View的实例(一般是一个layout)去显示。由于空屏幕不是特别的令人鼓舞,所以,绝大多数你在重写onCreate处理函数的时候都会使用setContentView来指定ActivityUI

 

setContentView方法既可以接受一个layout的资源ID(如第3章所述),也可以是一个View实例。这个允许你在代码中定义UI,或者使用外置layout资源的首选技巧。

 

使用layout资源能够降低应用程序的逻辑与显示层的耦合,为不用修改代码而改变显示提供了灵活性。它能为不同的硬件配置指定不同的layout,甚至在运行时基于硬件的变化(如屏幕方向)变更UI

 

接下来的代码片段显示了如何使用外部layout资源来设定ActivityUI。你也可以通过findViewById方法来获得layoutview的引用。下面的代码假设main.xml存在于工程的/res/layout文件夹中。

 

@Override

public void onCreate(Bundle icicle) {

super.onCreate(icicle);

setContentView(R.layout.main);

TextView myTextView = (TextView)findViewById(R.id.myTextView);

}

 

如果你喜欢传统的方式,你可以在代码里指定UI。下面的代码片段显示了如何指定新的TextView作为UI

 

@Override

public void onCreate(Bundle icicle) {

super.onCreate(icicle);

TextView myTextView = new TextView(this);

setContentView(myTextView);

myTextView.setText(“Hello, Android”);

}

 

setContentView方法接受单个View实例;所以,你得保证使用单个ViewView Group来得到一个layout的引用,从而来组合多个控件。

posted on 2009-07-21 11:40  xirihanlin  阅读(692)  评论(0编辑  收藏  举报