第4章Android用户界面 杨刚 中国人民大学
杨刚 中国人民大学 第4章 Android用户界面
本章学习目标: ·了解各种界面控件的使用方法 ·掌握几种基本界面布局的特点和使用方法 掌握Material Design设计理念与方法
本章学习目标: n 了解各种界面控件的使用方法 n 掌握几种基本界面布局的特点和使用方法 n 掌握Material Design设计理念与方法
4.1用户界面基础 ·随着智能手机不断更新及其应用软件多样化发 展,智能手机界面设计也趋于多样化,而良好 的用户体验是界面设计的关键所在 ·手机界面的设计必须基于手机设备的物理特性 和系统应用的特性进行合理的设计 ■优秀用户界面设计的一些基本原则 ▣美学完整性,功能与界面的匹配 ▣风格一致性 口操作直接化 ▣拟物化 口用户控制
4.1 用户界面基础 n 随着智能手机不断更新及其应用软件多样化发 展,智能手机界面设计也趋于多样化,而良好 的用户体验是界面设计的关键所在 n 手机界面的设计必须基于手机设备的物理特性 和系统应用的特性进行合理的设计 n 优秀用户界面设计的一些基本原则 q 美学完整性,功能与界面的匹配 q 风格一致性 q 操作直接化 q 拟物化 q 用户控制
4.1用户界面基础 ■Android用户界面框架 Android用户界面框架采 用MVC(Model--View- 键盘等输入 Controller)模型 ·控制器(Controller) 处理 视图 控制器 用户输入 ■视图(View)显示用户界 绘制界面 更新 面和图像 模型 模型 (Model) 保存数据和 代码 o扩展框架MVP
4.1 用户界面基础 n Android 用户界面框架 q Android 用户界面框架采 用MVC (Model -View - Controller)模型 n 控制器(Controller )处理 用户输入 n 视图(View )显示用户界 面和图像 n 模型(Model)保存数据和 代码 q 扩展框架 MVP 模 型 视 图 控 制 器 键 盘 等 输 入 绘 制 界 面 更 新
4.1用户界面基础 ·Android,用户界面框架 口Android用户界面框架采 用视图树(View Tree) 模型 Vi ewer oup ·由View和ViewGroup构成 ■View是最基本的可视单元 Mi ew Vi ewa oup Vi ew ViewGroup是一种能够承 载含多个View的显示单元 Mew View Mew
4.1 用户界面基础 n Android用户界面框架 q Android用户界面框架采 用视图树(View Tree) 模型 n 由View和ViewGroup构成 n View是最基本的可视单元 n ViewGroup是一种能够承 载含多个View的显示单元 Vi ewGr oup Vi ew Vi ewGr oup Vi ew Vi ew Vi ew Vi ew
4.1用户界面基础 Android用户界面框架 Android用户界面框架采用视 图树(View Tree)模型 ■Android系统会依据视图树的 Vi ewGr oup 结构从上至下绘制每一个界面 元素 M ew Vi ewa oup Mi ew ■每个元素负责对自身的绘制, 如果元素包含子元素,该元素 会通知其下所有子元素进行绘 M ew Mew Mew 制
4.1 用户界面基础 n Android 用户界面框架 q Android 用户界面框架采用视 图树(View Tree)模型 n Android系统会依据视图树的 结构从上至下绘制每一个界面 元素 n 每个元素负责对自身的绘制, 如果元素包含子元素,该元素 会通知其下所有子元素进行绘 制 Vi ewGr o u p Vi ew Vi ewGr o u p Vi ew Vi ew Vi ew Vi ew
4.1用户界面基础 Android用户界面框架 口单线程用户界面 ·控制器从队列中获取事件和视图在屏幕上绘制用户界面, 使用的都是同一个线程 ■} 当应用程序启动时,系统会为应用程序创建一个主线程( 或者叫U线程),它负责分发事件到不同的组件,包括绘 画事件 ■特点:设计简单,处理函数具有顺序性,能够降低应用程 序的复杂程度,同时也能减低开发的难度 。 缺点:如果事件处理函数过于复杂,可能会导致用户界面 失去响应
4.1 用户界面基础 n Android用户界面框架 q 单线程用户界面 n 控制器从队列中获取事件和视图在屏幕上绘制用户界面, 使用的都是同一个线程 n 当应用程序启动时,系统会为应用程序创建一个主线程( 或者叫UI线程),它负责分发事件到不同的组件,包括绘 画事件 n 特点:设计简单,处理函数具有顺序性,能够降低应用程 序的复杂程度,同时也能减低开发的难度 n 缺点:如果事件处理函数过于复杂,可能会导致用户界面 失去响应
4.1用户界面基础 Android用户界面框架 口单线程用户界面 ·确保只在UI线程中访问Android用户界面工具包中的组件; ■不能阻塞U线程
4.1 用户界面基础 n Android用户界面框架 q 单线程用户界面 n 确保只在UI线程中访问Android用户界面工具包中的组件; n 不能阻塞UI线程
4.2界面控件 a大多数的界面控件都在android.view和 android.widget包中 ■若干常见的系统控件: TextView,EditText,Button,ImageButton, Checkbox,RadioButton,Spinner,ListView, TabHost
4.2 界面控件 n 大多数的界面控件都在android.view和 android.widget包中 n 若干常见的系统控件: q TextView,EditText,Button,ImageButton, Checkbox,RadioButton,Spinner,ListView, TabHost
4.2界面控件 ·Android的原生控件,一般是在res/layout下的xml 文件中声明。Activity通过使用 super..setContentView(R.layout.布局layout文件 名)来加载layout。在Activity中获取控件的引用需 要使用super..findViewByld(R.id.控件lD),就可以 使用这个引用对控件进行操作,例如添加监听, 设置内容等。当然也可以通过代码动态的使用控 件
4.2 界面控件 n Android的原生控件,一般是在res/layout下的xml 文件中声明。Activity通过使用 super.setContentView(R.layout.布局layout文件 名)来加载layout。在Activity中获取控件的引用需 要使用super.findViewById(R.id.控件ID),就可以 使用这个引用对控件进行操作,例如添加监听, 设置内容等。当然也可以通过代码动态的使用控 件