Android界面设计手册介绍
1 用户界面设计
1.1 概述
1.2 LinearLayout(线性布局)
1.3 RelativeLayout(相对布局)
1.4 TableLayout(表格布局)
1.5 FrameLayout(帧布局)
1.6 GridLayout(网格布局)
1.7 AbsoluteLayout(绝对布局)
2 UI控件
2.1 概述
2.2 基本UI控件
2.2.1 TextView(文本框)
2.2.2 EditText(输入框)
2.2.3 Button(按钮)与ImageButton(图像按钮)
2.2.4 ImageView(图像视图)
2.2.5 RadioButton(单选按钮)&Checkbox(复选框)
2.2.6 ToggleButton(开关按钮)和Switch(开关)
2.2.7 ProgressBar(进度条)
2.2.8 SeekBar(拖动条)
2.2.9 RatingBar(星级评分条)
2.2.10 ScrollView(滚动条)
2.2.11 Date & Time组件
2.3 高级UI控件
2.3.1 Adapter
2.3.2 ListView(列表视图)
2.3.2.1 ListView
2.3.2.2 BaseAdapter优化
2.3.2.3 ListView的焦点问题
2.3.2.4 ListView之checkbox错位问题解决
2.3.2.5 ListView的数据更新问题
2.3.2.6 构建一个可复用的自定义BaseAdapter
2.3.2.7 ListView Item多布局
2.3.3 GridView(网格视图)
2.3.4 Spinner(列表选项框)
2.3.5 Toast(消息提示)
2.3.6 AutoCompleteTextView(自动完成文本框)
2.3.7 Notification(状态栏通知)
2.3.8 ExpandableListView(可折叠列表)
2.3.9 对话框
2.3.9.1 AlertDialog(对话框)
2.3.9.2 ProgressDialog(进度条对话框)
2.3.9.3 DatePickerDialog(日期选择对话框)与TimePickerDialog(时间选择对话框)
2.3.10 ViewFlipper(翻转视图)
2.3.11 PopupWindow(悬浮框)
2.3.12 Menu(菜单)
2.3.13 ViewPager(视图滑动切换工具)
2.3.14 DrawerLayout(官方侧滑菜单)
2.3.15 ActionBar(动作栏)
3 事件处理
3.1 基于监听的事件处理机制
3.2 基于回调的事件处理机制
3.3 Handler消息传递机制
3.4 TouchListener PK OnTouchEvent + 多点触碰
3.5 监听EditText的内容变化
3.6 响应系统设置的事件(Configuration类)
3.7 AnsyncTask异步任务
3.8 Gestures(手势)
4 Android应用四大组件
4.1 Activity(活动)
4.2 Service(服务)
4.3 BroadcastReceiver(广播接收者)
4.4 ContentProvider(内容提供者)
5 Fragment(碎片)
5.1 概述
5.2 单帧碎片
5.3 列表碎片
5.4 碎片过渡
6 Intent(意图)
7 Android程序调试
7.1 Log日志信息输出
7.2 Android Studio程序断点调试
7.3 程序异常处理

概述

2017-09-26 17:17:14
admin
568
最后编辑:admin 于 2017-09-26 18:01:18

Activity 是 Android 应用用户界面的基本组成部件。但 Activity 本身并不提供用户界面(User Interface)。从程序结构层次上来说,一个 Android 应用是类 android.app.Application 的一个实例, Application 中可以包含多个 android.app.Activity 实例。每个 Activity 带一个Window 类,这个类在 Android 平台上没有提供太多功能,主要可以用来控制标题栏(屏幕顶端)。比如设置UI全屏显示可以使用如下代码:

requestWindowFeature(Window.FEATURE_NO_TITLE);  
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,   
                                WindowManager.LayoutParams.FLAG_FULLSCREEN);

Activty 缺省是不含用户界面,如需显示用户界面,则可以调用 setContentView()来设置 Activity 的 ContentView。 ConentView 描述了具体的 UI 组件,如文本框,标签,列表框,图片框的。

Android 的用户界面其实就是指 ContentView 的设计。“View”开始会使人产生误解,在其它平台“View”一般指类似Form的概念。而在 Android 平台上 View 是 UI 组件,相当于其他平台的Component,ViewGroup 相当于其它平台的 Container,如下图所示:

有了这个对应关系就很容易将你已有的用户界面设计知识用在 Android 的用户界面设计上来。

此外 Android 用户界面设计一个推荐的方法是使用 XML 来描述 UI,这也不是 Android 平台的首创,Java ME Polish,WPF,Silverlight 等都采用 XML 来描述 UI,使用 XML 来描述的好处是将用户界面和程序逻辑分开,可以做到用户界面的改变不影响程序逻辑,程序逻辑的变动也可以不影响用户界面,实际上是采用了 MVC 模式的设计。Activity 是 MVC 中的 Controller,Activity 的ContentView 则是 MVC 中的 View。如果你不想使用 XML 来描述 UI,也可以使用代码来创建 UI,不过这种方法既麻烦,也增加了模块之间的耦合度。

理解了 Android 的 View 和 ViewGroup 之后,具体设计用户界面并不复杂,一般来说 ViewGroup定义它的子 View 的布局 Layout,也就是其它 View (文本框,标签等控件或是其它 ViewGroup)在用户界面的位置安排。如上图所示,这个层次关系可以嵌套。通过嵌套,你可以定义出任意用户界面。

Android 中的基本布局如下:

FrameLayout
最简单的布局对象
在屏幕上故意保留的空白空间,你可以之后填充一个单独的对象
例如:一个你要更换的图片
所有子元素都钉到屏幕的左上角
不能为子元素指定位置
LinearLayout
在一个方向上(垂直或水平)对齐所有子元素
所有子元素一个跟一个地堆放
一个垂直列表每行将只有一个子元素(无论它们有多宽)
一个水平列表只是一列的高度(最高子元素的高度来填充)
TableLayout
把子元素放入到行与列中
不显示行、列或是单元格边界线
单元格不能横跨行,如 HTML 中一样
AbsoluteLayout
使子元素能够指明确切的X / Y 坐标显示在屏幕上
(0,0)是左上角
当你下移或右移时,坐标值增加
允许元素重叠(但是不推荐)
注意:
一般建议不使用 AbsoluteLayout 除非你有很好的理由来使用它
因为它相当严格并且在不同的设备显示中不能很好地工作

RelativeLayout 让子元素指定它们相对于其他元素的位置(通过 ID 来指定)或相对于父布局对象


  • 在线客服
  • 关注微信
  • 联系电话
    • 欢迎咨询
    • 欢迎加入QQ群 303257430
  • 公众号:源宝网络
    • 联系电话及微信号 18902328227