Android用户界面详解
Class | Description |
AbsoluteLayout | 可以通过精确的坐标(如屏幕像素)指定子对象相对父容器的位置 |
FrameLayout | 负责显示单一对象的Layout |
Gallery | 一个以水平滚动方式显示有序图片列表的显示器 |
GridView | 显示一个可滚动的有m列n行的表格 |
LinearLayout | 以水平或垂直方式显示子元素的Layout。如果窗体的长度超过了屏幕的长度,将会出现滚动条 |
ListView | 显示一个可滚动的单列列表 |
PopupList | 一个独立的带边框的元素弹出列表 |
RelativeLayout | 能够指定子对象相对于其它对象(如A在B的左边)或父对象(如在父容器的顶部)的位置 |
ScrollView | 一个垂直的元素滚动列 |
Spinner | 在一个单行文本框中,同时只显示一个有序列表中的一个项。类似于一个可以水平或垂直滚动的单行listbox |
SurfaceView | 提供直接访问一个可画图的界面。可以控制在界面顶部的子视图层。SurfaceView是提供给需要直接画像素而不是使用窗体部件的应用使用的。 |
TabHost | 提供一个页签选择列表,监视点击并在一个页签被点击时保证应用切换屏幕。 |
TableLayout | 一个拥有任意行和列的表格layout,每一个单元格拥有窗体部份。行会根据最大的列而自动调整大小。单元格边框不可见。 |
ViewFlipper | 一个在单行文本框中同一时刻只显示一项的列表组件。它可以根据时间周期切换显示项,类似一个幻灯机。 |
ViewSwitcher | 类似ViewFlipper |
3.2.3数据绑定
有些View groups会有UI。这些对象通常是AdapterView类的子类.例如包括图库和列表视图, 它们具有两个共同的职责:
· 填充布局数据
· 处理用户操作
填充布局数据
填充布局数据通常通过把这个类绑定到一个Adapter来完成,Adapter从某个地方获取它的数据,或者是代码提供的一个列表,或者是来自设备数据库的查询结果。
// Get a Spinner and bind it to an ArrayAdapter that
// references a String array.
Spinner s1 = (Spinner) findViewById(R.id.spinner1);
ArrayAdapter adapter = ArrayAdapter.createFromResource(
this, R.array.colors, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
s1.setAdapter(adapter);
// Load a Spinner and bind it to a data query.
private static String[] PROJECTION = new String[] {
People._ID, People.NAME
};
Spinner s2 = (Spinner) findViewById(R.id.spinner2);
Cursor cur = managedQuery(People.CONTENT_URI, PROJECTION, null, null);
SimpleCursorAdapter adapter2 = new SimpleCursorAdapter(this,
android.R.layout.simple_spinner_item, // Use a template
// that displays a
// text view
cur, // Give the cursor to the list adatper
new String[] {People.NAME}, // Map the NAME column in the
// people database to...
new int[] {android.R.id.text1}); // The text1 view defined in
// the XML template
adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
s2.setAdapter(adapter2);
注意:使用CursorAdapter时,必须有People._ID, 否则将会发生异常。
处理用户操作
Android通过设置类的AdapterView.OnItemClickListener 成员到一个监听者并捕捉用户的操作事件,来处理用户的操作。
// Create a message handling object as an anonymous class.
private OnItemClickListener mMessageClickedHandler = new OnItemClickListener() {
public void onItemClick(AdapterView parent, View v, int position, long id)
{
// Display a messagebox.
sh
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)
