用户界面设计课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《用户界面设计课件.pptx》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 用户界面 设计 课件
- 资源描述:
-
1、第 2 章 用户界面设计012.1 视图组件与容器组件0203042.2 控制 UI 界面2.3 基本 UI 组件2.4 高级 UI 组件052.5 Handler 消息传递机制062.6 项目实战:“移动商城”(一)07082.7 相关阅读:ButterKnife 的使用 2.8 本章小结本章导读本章主要对本章主要对 Android 前台手机界面布局方法以前台手机界面布局方法以及常用组件进行阐述。主要知识点有:及常用组件进行阐述。主要知识点有:(1)视图组件和容器组件;)视图组件和容器组件;(2)控制)控制UI界面的三种方式;界面的三种方式;本章导读(3)基本)基本 UI 组件(包括组件(包
2、括 TextView、EditText、Button、ImageView、ProgressBar、ScrollView、Toast、布局管理器、布局管理器等);等);(4)高级)高级 UI 组件(包括列表类组件、对话框、菜单、标签组件(包括列表类组件、对话框、菜单、标签栏等);栏等);(5)Handler 消息传递机制。消息传递机制。012.1 视图组件与容器组件Android 的的 UI 界面都是由界面都是由 View 和和 ViewGroup 及其派生类及其派生类组合而成的。其中,组合而成的。其中,View 是所有是所有UI组件的基类,而组件的基类,而 ViewGroup 是容纳是容纳 V
3、iew 及其派生类的容器,及其派生类的容器,ViewGroup 也也是从是从 View 派生出来的。派生出来的。一般来说,开发一般来说,开发 UI 界面都不会直接使用界面都不会直接使用 View 和和ViewGroup 自定义控件的时候使用),而是使用其派生类自定义控件的时候使用),而是使用其派生类。012.1 视图组件与容器组件Android 中的视图可分为中的视图可分为 3 种:布局类(种:布局类(Layout)、视图容)、视图容器类(器类(View Container)和视图类(例如,)和视图类(例如,TextView 就是一就是一个直接继承个直接继承 View 类的视图类)。类的视图类
4、)。android.view.ViewGroup 是一个容器类,该类也是是一个容器类,该类也是 View 的的子类,所有的布局类和视图容器类都是子类,所有的布局类和视图容器类都是 ViewGroup 的子类,的子类,而视图类直接继承自而视图类直接继承自 View 类。类。012.1 视图组件与容器组件Android 中的中的视图组件与容视图组件与容器组件器组件012.1 视图组件与容器组件UI布局的层布局的层次结构次结构022.2 控制 UI 界面I.使用使用 XML 布局文件控制布局文件控制 UI 界面界面II.在在 Java 代码中控制代码中控制 UI 界面界面III.使用使用 XML 布
5、局文件和代码混合控制布局文件和代码混合控制 UI 界面界面032.3 基本 UI 组件2.3.1 TextView 和 EditTextTextView 及及其子类其子类032.3 基本 UI 组件2.3.2 Button、ImageButton、ImageView、RadioButton 和 CheckBoxpublic class Button extends TextViewpublic class ImageButton extends ImageViewpublic class ImageView extends Viewpublic class RadioButton extend
6、s CompoundButtonpublic class RadioGroup extends LinearLayoutpublic class CheckBox extends CompoundButton032.3 基本 UI 组件2.3.3 ProgressBar、ScrollView、Toast(消息提示)ProgressBar 是是 UI 控件中用于显示某个时刻操作完成的进控件中用于显示某个时刻操作完成的进度控件。该控件应随时间、操作完成度而实时的变化,从度控件。该控件应随时间、操作完成度而实时的变化,从而达到提醒用户任务进度的目的。而达到提醒用户任务进度的目的。ProgressBa
7、r 类声明如下:类声明如下:public class ProgressBar extends View032.3 基本 UI 组件2.3.3 ProgressBar、ScrollView、Toast(消息提示)ScrollView 是为普通控件添加滚动条的控件。该控件每次是为普通控件添加滚动条的控件。该控件每次只能作用于一个普通控件以控制其滚动。只能作用于一个普通控件以控制其滚动。ScrollView 类声明如下:类声明如下:public class ScrollView extends FrameLayout032.3 基本 UI 组件2.3.3 ProgressBar、ScrollView
8、、Toast(消息提示)Toast 类声明如下:类声明如下:public class Toast extends ObjectToast可以通过可以通过 makeText()方法创建方法创建Toast对象并设置相关对象并设置相关属性,并调用属性,并调用 show()方法显示提示。例如以下:方法显示提示。例如以下:Toast.makeText(MainActivity.this,提示的内容提示的内容,Toast.LENGTH_LONG).show();032.3 基本 UI 组件2.3.4 日期时间类组件1AnalogClock(模拟时钟)(模拟时钟)AnalogClock 类声明如下:类声明如
9、下:public class AnalogClock extends View032.3 基本 UI 组件2.3.4 日期时间类组件2DatePicker(日期选择器)(日期选择器)DatePicker 类声明如下:类声明如下:public class DatePicker extends FrameLayout032.3 基本 UI 组件2.3.4 日期时间类组件3TimePicker(时间选择器)(时间选择器)TimePicker 类声明如下:类声明如下:public class TimePicker extends FrameLayout032.3 基本 UI 组件2.3.5 布局管理器
10、Android 布局管理器本身就是一个布局管理器本身就是一个 UI 控件,所有的布局控件,所有的布局管理器都是管理器都是 ViewGroup 的子类。的子类。布局管理器可以包含布局管理器可以包含 UI 组件,也可以包含其他布局管组件,也可以包含其他布局管理器,因此,可以将其看成是一个理器,因此,可以将其看成是一个 ViewGroup 对象。对象。通过多层布局的嵌套,我们能够完成一些比较复杂的界通过多层布局的嵌套,我们能够完成一些比较复杂的界面实现。面实现。032.3 基本 UI 组件2.3.5 布局管理器LayoutParams 表示布局参数,子表示布局参数,子 View 通过通过Layout
11、Params 告诉父容器(告诉父容器(ViewGroup)应该如何放置)应该如何放置自己。自己。LayoutParams 与与 ViewGroup 是息息相关的。是息息相关的。LayoutParams 携带了子控件针对父控件的信息,告诉父携带了子控件针对父控件的信息,告诉父控件如何放置自己。控件如何放置自己。032.3 基本 UI 组件2.3.5 布局管理器LayoutParams 类也只是简单描述了宽高,宽和高都可以类也只是简单描述了宽高,宽和高都可以设置成三种值:设置成三种值:(1)一个确定的值;)一个确定的值;(2)MATCH_PARENT,即填满(和父容器一样大小);,即填满(和父容器
12、一样大小);(3)WRAP_CONTENT,即包裹住组件就好。,即包裹住组件就好。032.3 基本 UI 组件2.3.5 布局管理器1线性布局线性布局LinearLayout 类声明如下:类声明如下:public class LinearLayout extends ViewGroup线性布局线性布局 LinearLayout 是是 Android 系统中最基础的一种系统中最基础的一种布局。采用自上而下或者从左往右的方式一个元素接着布局。采用自上而下或者从左往右的方式一个元素接着一个元素排列,当排列的元素超出屏幕范围,超出的部一个元素排列,当排列的元素超出屏幕范围,超出的部分将做隐藏处理。分将
13、做隐藏处理。03线性布局线性布局03032.3 基本 UI 组件2.3.5 布局管理器2相对布局相对布局RelativeLayout 类声明如下:类声明如下:public class RelativeLayout extends ViewGroup相对布局相对布局 RelativeLayout 是位置相对于兄弟组件或者布是位置相对于兄弟组件或者布局容器来布局的一种布局管理器。局容器来布局的一种布局管理器。03相对布局相对布局03相对布局相对布局032.3 基本 UI 组件2.3.5 布局管理器3帧布局帧布局FrameLayout 类声明如下:类声明如下:public class FrameLa
14、yout extends ViewGroup帧布局帧布局 FrameLayout 是最简单的布局方式,帧布局向屏是最简单的布局方式,帧布局向屏幕绘制了一个空白的矩形区域,所有添加到这个布局中幕绘制了一个空白的矩形区域,所有添加到这个布局中的视图都是以层叠的方式显示。第一个添加到框架布局的视图都是以层叠的方式显示。第一个添加到框架布局中的视图显示在最底层,最后一个被放在最顶层。中的视图显示在最底层,最后一个被放在最顶层。032.3 基本 UI 组件2.3.5 布局管理器4表格布局表格布局TableLayout 类声明如下:类声明如下:public class TableLayout extend
15、s LinearLayout表格布局表格布局 TableLayout,它继承了,它继承了 LinearLayout,通过,通过 TableRow 来表示表格中行的概念,一个来表示表格中行的概念,一个 TableRow 即表即表示一行。示一行。032.3 基本 UI 组件2.3.5 布局管理器5网格布局网格布局GridLayout 类声明如下:类声明如下:public class GridLayout extends ViewGroup网格布局网格布局 GridLayout 是是 Android 4.0 以后新增的一种布以后新增的一种布局管理器,该布局将屏幕中某个矩形区域划分成排列整局管理器,该
16、布局将屏幕中某个矩形区域划分成排列整齐的若干个单元格。对于一个网格布局来说,需要明确齐的若干个单元格。对于一个网格布局来说,需要明确划分成几行几列。划分成几行几列。032.3 基本 UI 组件2.3.5 布局管理器6约束布局约束布局ConstraintLayout 类声明如下:类声明如下:public class ConstraintLayout extends ViewGroup约束布局约束布局 ConstraintLayout 是一个是一个 ViewGroup,可以在,可以在 API 9 以上的以上的Android系统使用它,它的出现主要是为了系统使用它,它的出现主要是为了解决布局嵌套过多
17、的问题。解决布局嵌套过多的问题。042.4 高级 UI 组件2.4.1 列表类组件1AdapterAndroid 里的里的 Adapter 是是 View 视图与视图与 data 数据之间的数据之间的桥梁,桥梁,Adapter 提供对数据的访问,也负责为每一项数提供对数据的访问,也负责为每一项数据产生一个对应的视图。据产生一个对应的视图。Adapter 接口声明如下:接口声明如下:public interface Adapter04Adapter 接口接口及其实现类的及其实现类的继承关系继承关系042.4 高级 UI 组件2.4.1 列表类组件2AdapterViewAdapterView 类
18、声明如下:类声明如下:public abstract class AdapterView extends ViewGroupAdapterView 的本质是容器,其内容由的本质是容器,其内容由 Adapter 来提供,来提供,通过通过 setAdapter(Adapter)的方法来设置。的方法来设置。04AdapterView 及其子类的继承关系及其子类的继承关系042.4 高级 UI 组件2.4.1 列表类组件3Spinner(下拉框)(下拉框)Spinner 类声明如下:类声明如下:public class Spinner extends AbsSpinner implements Dia
19、logInterface.OnClickListenerSpinner 是一个下拉列表框,需要给它指定对应的数据源。是一个下拉列表框,需要给它指定对应的数据源。Spinner 数据源的设定支持两种方式:通过指定数据源的设定支持两种方式:通过指定android:entries 属性或者属性或者 Adapter 方式设定数据源。方式设定数据源。042.4 高级 UI 组件2.4.1 列表类组件4ListViewListView 类声明如下:类声明如下:public class ListView extends AbsListViewListView 是手机中使用非常频繁的一类控件,它以垂直是手机中
展开阅读全文