Android用户界面概览
用户界面的概观
全部的Android应用程序的用户界面元素都是用View和ViewGroup对象构建的。View就是在手机屏幕上描绘一个能够与用户交互的一个对象。ViewGroup是包括View对象和其它ViewGroup对象的一个容器对象,以便定义所包括的接口的布局。
Android提供的View和ViewGroup的子类的集合,为我们提供了了经常使用的输入控件(比方button和文本字段) 和各种布局模型(比方线性布局和相对布局)
用户界面的布局
每一个应用程序的组件的用户界面都是用View和ViewGroup对象的层次结构来定义的,如图1所看到的。每一个ViewGroup是用来组织View对象的一个隐形的一个容器。这些View对象可能是输入控件或者其它窗口小部件。这个层次结构树依据你的需求可简单可复杂(可是简单对性能来说是最好的)
图1. 定义UI布局的view层次结构的插图
声明一个布局(在Activity类种onCreate方法中调用setContentView(R.layout.main))后,你能够在代码中实例化一个View对
象和创建一个树结构,可是最简单和最有效的方法是在一个xml文件里定义布局。这个XML文件提供了一个可读的布局结构,类似于HTML
View所相应的的XML元素的名字各自相应了它所代表的的Android类。所以一个<TextView>元素在UI中创建了一个TextView部件,一个<LinearLayout>元素创建了一个LinearLayout view group
举例说明,一个简单的包括text view和button的垂直布局例如以下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<TextViewandroid:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="I am a TextView"/>
<Buttonandroid:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="I am a Button"/>
</LinearLayout>
当你在你的应用程序中载入一个布局资源时,Android将该布局资源文件的每一个节点初始化成执行时的对象 。能够拿到这个对象(findViewById(R.id.tv))来定义附加的行为,查询此对象的状态,或者改动布局。
用户界面的组件
不一定必须通过View和ViewGroup对象来创建UI。Android提供的几个应用程序组件,为我们提供了标准的用户界面布局,我们仅仅需为这个布局定义内容就能够了。这些用户界面组件(比方Action Bar,Dialogs,Status Notifications)都有自己唯一的一组APIs,这些APIs都定义在各自的文档里。
Android用户界面概览的更多相关文章
- 【转】Android系统概览
这篇文章其实原文叫 <老罗的Android之旅>导读PPT 是罗升阳的博客,我觉得用“Android系统概览”作为标题更贴切些,对于在应用层已经开发了一段时间的人来说,读完之后会有很多体会 ...
- android用户界面详尽教程实例
android用户界面详尽教程实例 1.android用户界面之AlarmManager教程实例汇总http://www.apkbus.com/android-48405-1-1.html2.andr ...
- Android 用户界面---拖放(Drag and Drop)(三)
设计拖放操作 本节主要内容如下: 1. 如何开始拖拽: 2. 在拖拽期间如何响应事件: 3. 如何响应落下事件: 4. 如何结束拖放操作. 开始拖拽 用户使用一个拖拽手势开始拖拽,通常是在 ...
- Android 用户界面---拖放(Drag and Drop)(二)
拖拽事件监听器和回调方法 View对象既可以用实现View.OnDragListener接口的拖放事件监听器,也可以用View对象的onDragEvent(DragEvent)回调方法来接收拖拽事 ...
- Android 用户界面---拖放(Drag and Drop)(一)
用Android的拖放框架,能够允许用户使用图形化的拖放手势,把数据从当前布局中的一个View对象中移到另一个View对象中.这个框架包括:拖拽事件类.拖拽监听器.以及辅助的方法和类. 尽管这个框架主 ...
- Android用户界面布局(layouts)
Android用户界面布局(layouts) 备注:view理解为视图 一个布局定义了用户界面的可视结构,比如activity的UI或是APP widget的UI,我们可以用下面两种方式来声明布局: ...
- Android用户界面开发:Fragment
Android用户界面开发:Fragment 1:注意事项 3.0以前的Android 版本要使用FragmentActivity 来装载Fragment ,使用到support v4包. 3.0 ...
- android用户界面的教程实例---转自qianqianlianmeng的博客
1.android用户界面之AlarmManager教程实例汇总http://www.apkbus.com/android-48405-1-1.html2.android用户界面之文本编辑教程实例汇总 ...
- Android用户界面设计:基本button
Android用户界面设计:基本button 本文向你展示了在你的Android应用程序中创建一个简单的Button或ImageButton控件的步骤. 首先.你会学到怎样向你的布局文件里加入butt ...
随机推荐
- SGU 128.Snake
时间限制:0.25s 空间限制:4m 题意: 在一个平面坐标中有N个点,现在要你用这N个点构造一个闭合图形,这个图形要满足以下条件: 1.这个图形要是闭合的: 2.图形上的点只能是给 ...
- Js随机数--网页版的体育彩票选号器
<script> function Quickpick() { var ball for( ball = 0; ball < 5; ball++) { this[ball] = pa ...
- Notepad++插件之TextFX
Technorati 标记: notepad Notepad++插件TextFX Characters是一款默认安装的插件,由于功能强大,被编程爱好者认为是最好的Notepad++插件,第二名是L ...
- android 学习第一步
今天是2015年7月24号,今年下半年的主要学习方向是android,学习的目标是做出3个或以上的有实用价值的app.
- DotNet 资源
DotNet 资源 目录 API 应用框架(Application Frameworks) 应用模板(Application Templates) 人工智能(Artificial Intelligen ...
- iscc2016-好长的字符串
Vm0wd2QyVkhVWGhVYmxKV1YwZDRXRmxVUm5kVlJscHpXa2M1VjFKdGVGWlZNbmhQWVd4YWMxZHViRmROYWxaeVdWZDRZV014WkhG ...
- 解决m2eclipse之Unable to update index for central |
maven 不能更新,真烦人,转载他人的 maven是个好东西,eclipse上的maven插件m2eclipse也非常方便,但是最近这个东西经常无法连接到maven index的更新网站,然后ecl ...
- IOS--UISlider的使用方法
IOS--UISlider的使用方法 // UISlider的常用方法 UISlider *oneSlider = [[UISlider alloc] init]; // 最常用 oneSlider. ...
- Node.js事件发射器
在Node很多对象发出事件,例如net.Server每个同级连接到它,一个fs.readStream发出打开文件事件时,每次都发出一个事件. 它发出事件的所有对象都是events.EventEmitt ...
- Unity3D Asset Server搭建 .
Unity3D Asset Server搭建 本文转载于 http://blog.csdn.net/amazonzx/article/details/7980117,非常感谢! Asset Se ...