构建一个简单的用户界面

安卓的图形用户接口(界面)是通过使用一个由视图(view)和视图集合(ViewGroup)对象组成的层级结构来构建的。View对象是一些常见UI组件,比如按钮,文本框,ViewGroup对象是一些不可见的视图容器,它定义了子视图如何摆放,比如在一个表格里或者一个垂直列表。

安卓提供了一个XML词汇表,它于view和ViewGroup的子类是一致的,这样你可以在XML中使用界面元素的层级来定义你的界面。

图一. 说明了 在布局中,ViewGroup对象形式如何分支,和包含其他的视图对象。

在这节课,你将创建一个XML布局,它包含了一个文本区和一个按钮。在后面的课程中,在按钮被按下后你将作出反应,并发送文本区的内容到其他activity。

创建一个线性布局(Linear Layout)

在你的项目文件夹 res/layout/下,打开 fragment_main.xml

注意:在Eclipse,当你打开一个布局文件,你将先被展示一个视图布局的编辑器。这是一个编辑器,可以帮你以所见即所得的工具构建布局。在这节课,你将使用XML直接工作,这样,点击屏幕下方的fragment_main.xml 标签卡来打开一个XML编辑器。

当你创建这个项目是你选择了 BlankActivity (空的activity)这个模板,它包含了  fragment_main.xml 这个文件,RelativeLayout 是它的根视图,并且包含了一个TextView子视图。

第一步,删除 <TextView> 元素,并且更改 <RelativeLayout> 元素为 <LinearLayout>。这是,添加android:orientation 这个属性,并且设置值为“horizontal”。这个结果像下面这样:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal" >
</LinearLayout>

LinearLayout 是一个View group(一个ViewGroup的子类),它以垂直或者水平方向两种之一的方式摆放它的子视图,使用  android:orientation 属性来指定方向。每一个 LinearLayout 的子视图出现在屏幕中的顺序和它出现在XML中的顺序一致。

另外的两个属性, android:layout_width 和 android:layout_height,对所有的视图来说都是必须的,为了指示它们的尺寸。

因为 LinearLayout  是布局的根视图,在它的宽度和高度都设置为“match_parent”,它将填满这个应用的整个可用的屏幕区域。这个值定义了视图如何展开它们的宽度和高度去匹配它们的父控件的宽度和高度。

关于布局属性的更多内容,请阅读  Layout 指南。

添加一个文本区

为了创建一个用户可编辑的文本区,在 <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" />

关于这些属性:

android:id

  它提供了这个视图的唯一标示符,通过它你可以再你的代码里引用该对象,比如去读取和操作这个对象(你将会在下一章节看到)

当你从XML中应用资源对象时,符号“@”是必须的。随后跟随着资源类型(在这里是id类型),一个斜线,这时再跟着一个资源名称(这里是叫edit_message)

在资源类型前面的“加号”,仅仅在你第一次定义资源ID的时候是必须的。在你编译你的程序时,SDK工具使用ID的名称去创建一个资源ID

时间: 2024-10-18 19:34:36

构建一个简单的用户界面的相关文章

Android官方入门文档[3]构建一个简单的用户界面

Android官方入门文档[3]构建一个简单的用户界面 Building a Simple User Interface构建一个简单的用户界面 This lesson teaches you to1.Create a Linear Layout2.Add a Text Field3.Add String Resources4.Add a Button5.Make the Input Box Fill in the Screen Width You should also read?Layouts

[Android5 系列—] 1. 构建一个简单的用户界面

前言 安卓应用的用户界面是构建在View 和ViewGroup 这两个物件的层级之上的. View 就是一般的UI组件,像按钮,输入框等. viewGroup 是一些不可见的view的容器,用来定义子View 如何布局, 类似在一个网格或是一个垂直列表. 安卓提供了一套XML的标签词汇用来定义UI的页面显示. 定义一个线性布局 1. 在 res/layout 目录下.打开 activity_my.xml (my 是您定义的activity 的名字) 在创建工程师包含的 BlankActivity

Android学习路线(四)构建一个简单的UI

Android应用的图形化用户界面的构建使用的是View 和 ViewGroup 对象的层次嵌套. View 对象通常是UI部件,例如 buttons 或者 text fields ,而 ViewGroup 是用来定义它的子布局如何排布的容器,它通常是不可见的,例如一个网格或者一个垂直的列表. Android提供XML词汇与View或者ViewGroup的子类的对应,这样的话你就可以通过XML元素的层级嵌套来定义你的UI. 另一种布局 使用XML声明UI比在运行时代码中声明更有用处可以在很多地方

制作一个简单的用户界面

制作一个简单的用户界面 这节课里面,我们来开发一个XML布局文件,这个布局文件里面会包含一个text field,文本输入框,和一个按钮button.下一节课里面,会教大家怎么在按下一个按钮的时候,跳转到另一个Activity. 这里先简单解释一下Android界面的构成.AndroidApp的界面是使用View和ViewGroup构建起来的.View通常就是我们常见的UI小部件,比如按钮Button.文本控件TextView等:而ViewGroup是一个View的容器,它可以限制这个容器里面的

通过python 构建一个简单的聊天服务器

构建一个 Python 聊天服务器 一个简单的聊天服务器 现在您已经了解了 Python 中基本的网络 API:接下来可以在一个简单的应用程序中应用这些知识了.在本节中,将构建一个简单的聊天服务器.使用 Telnet,客户机可以连接到 Python 聊天服务器上,并在全球范围内相互进行通信.提交到聊天服务器的消息可以由其他人进行查看(以及一些管理信息,例如客户机加入或离开聊天服务器).这个模型如图 1 所示. 图 1. 聊天服务器使用 select 方法来支持任意多个客户机 聊天服务器的一个重要

第三周——构建一个简单的Linux系统MenuOS

[洪韶武 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ] 第三周  构建一个简单的Linux系统MenuOS

第一节 构建一个简单的WCF应用

先吐个槽,到目前为止接触的东西也就是些ado.net.select.delete.update.create.临时表的批量操作.及稍微复杂点的几个表之间查询再带几个excel导入导出 然后会点前端的js.jquery等,所以在公司目前薪水并不高(能在广州生活下去吧,什么买车买房的想都别想),拿自己身边的同志一比较感觉心里不怎么平衡,凡事还是得靠自己 自强才是硬道理,就吐到这里吧!开始我的wcf之旅吧 本人理工科类型的文笔很烂 希望各位大神不要喷小弟哦(参照的书本:WCF全面解析) 咱们还是从小学

Spring学习(二)——使用用Gradle构建一个简单的Spring MVC Web应用程序

1.新建一个Gradle工程(Project) 在新建工程窗口的左侧中选择 [Gradle],右侧保持默认选择,点击next,模块命名为VelocityDemo. 2.在该工程下新建一个 module,在弹出的窗口的左侧中选择 [Gradle],右侧勾选[Spring MVC],如下图所示: 并勾选[Application server],下方选择框中选择Tomcat7.0,如无该选项,则选中右边的 [ New... ] -- [ Tomcat Server ], 配置 Tomcat .配置好后

构建一个简单的Linux系统 MenuOs —— start_kernel到init进程(20135304刘世鹏)

构建一个简单的Linux系统 MenuOs —— start_kernel到init进程 作者:刘世鹏20135304 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 Linux内核代码简介 内核源码三个个重要目录 arch占有代码量最大,支持不同cpu的源代码,arch/x86目录下的代码是我们关注的重点 init,内核启动相关的代码基本都在init目录下,init/main.c中start_kernel是整