设为首页 加入收藏

TOP

Android Training - 创建一个简单的用户界面
2014-11-24 11:22:41 来源: 作者: 【 】 浏览:0
Tags:Android Training 创建 一个 简单 用户界面

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作为子视图。


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


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


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


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


增加一个文本域


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


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


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


关于这些属性:
android:id
为视图提供一个唯一的标识,你可以在代码中通过这个标识引用这个对象,比如读取和操纵对象。(你会在下一个课程中看到)


当你要从XML中引用资源对象时,@符号是必须的,它后面跟着资源类型,一个斜线,然后是资源的名称。


当你第一次定义一个资源ID的时候,在资源类型前加一个+号是必须的。当你编译程序时,SDK工具会使用这个ID名称在项目中的gen/R.java文件中创建一个新的资源ID,这个新的资源ID引用对应的EditText元素。一旦使用这个方法声明了资源ID,使用这个ID的使用就不需要加号了。使用加号仅仅是在指定一个新的资源ID时是必须的,对于实体资源来说不是必须的,比如字符串或者布局。


android:layout_width和android:layout_height
这里使用"wrap_content"代替具体的宽高值来指定视图的大小,意思是和填充这个视图的内容一样大。如果你使用"match_parent"的话,EditText会填满整个屏幕,因为它会和它的父视图LinearLayout一样大。更多信息可以查看Layouts。


android:hint
这个属性的值会在文本域为空的时候显示。这里使用"@string/edit_message"代替一个固定的字符串,它的值在一个单独的字符串资源文件中定义。因为使用的是实体资源(不仅仅是标示符),所以不需要加号。当然,因为你还没有定义一个字符串资源,所以你会看到一个编译错误。下面章节我们会定义一个字符串资源。


提示:这个字符串资源和元素ID使用了相同名称:edit_message,不过,引用资源的时候会通过资源类型定义作用域(比如id或者string),所以使用相同的名称不会造成冲突。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C语言程序判断计算机的CPU大小端 下一篇Android Training - 建立你的第一..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·MySQL 基础入门视频 (2025-12-26 23:20:22)
·小白入门:MySQL超详 (2025-12-26 23:20:19)
·关于 MySQL 数据库学 (2025-12-26 23:20:16)
·SOLVED: Ubuntu 24.0 (2025-12-26 22:51:53)
·Linux 常用命令最全 (2025-12-26 22:51:50)