创建一个简单的用户界面

Android程序的图像用户界面使用一个层级结构View和ViewGroup对象构成。View对象一般是button或者text field这些UI部件,ViewGroup对象是不可见的视图容器,定义了子视图的布局,比如一个网格布局或者一个垂直列表。

Android 提供一个XML词汇表对应View和ViewGroup的子类,所以你可以在XML中使用层次结构的UI元素来定义你的UI。

创建一个简单的用户界面

上图显示了ViewGroup是怎么组成布局的分支和包含其他View对象的。

在这一个课程中,你将学习使用XML创建一个包含一个文本域和一个按钮的布局。再下一个课程,你将学习响应按钮点击事件,并且发送文本域中的信息给另外一个activity。

创建一个线性布局

--------------------------------------------------------------------------------

打开res/layout文件夹中的activity_main.xml文件。

提示:在Eclipse中,当你打开一个布局文件时,首先显示的是图像化布局编辑器,这是一个所见即所得的编辑器。这个课程我们直接编辑XML,所以点击activity_main.xml 选项卡,打开XML编辑器。

BlankActivity模板默认创建的activity_main.xml文件使用RelativeLayout作为根视图,一个TextView作为子视图。

首先,删除<TextView>元素,把<RelativeLayout>元素改成<LinearLayout>。然后添加android:orientation属性,并设置值为"horizontal"。结果如下:

<?xml version="1.0" encoding="utf-8"?>   <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"       xmlns:tools="http://schemas.android.com/tools"       android:orientation="horizontal"       android:layout_width="match_parent"       android:layout_height="match_parent" >   </LinearLayout>  

LinearLayout是一个视图组(ViewGroup的子类),它使用水平或者垂直的方式排列它的子视图,通过android:orientation属性设置。LinearLayout的子视图安装XML中出现的顺序显示在屏幕中。

另外两个属性,android:layout_width和android:layout_height是所有的视图必须有的,用来指定视图的尺寸。

因为LinearLayout是根视图,所以我们设置宽和高为"match_parent"让它填满整个屏幕,这个值的意思就是扩展这个视图的宽和高,直到匹配它的父视图的宽和高。

增加一个文本域

--------------------------------------------------------------------------------

在<LinearLayout>中添加一个<EditText>元素去创建一个用户可编辑的文本域。

和每个View对象一样,你需要定义某些XML属性去指定EditText对象的特征。下面是你需要在<LinearLayout>中要声明的:

<EditText android:id="@+id/edit_message"       android:layout_width="wrap_content"       android:layout_height="wrap_content"       android:hint="@string/edit_message" />  

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/d702223d921ed5cbbd26e435dba3ec73.html