资源预览内容
第1页 / 共41页
第2页 / 共41页
第3页 / 共41页
第4页 / 共41页
第5页 / 共41页
第6页 / 共41页
第7页 / 共41页
第8页 / 共41页
第9页 / 共41页
第10页 / 共41页
亲,该文档总共41页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Android课程讲义 智能手机开发 4 用户界面 智能手机开发 浙江大学计算机学院 3 UserInterface用户界面 说明布局Layout创建菜单Menus创建对话Dialogs处理用户UI事件用户提示确定风格定制组件数据与界面绑定 浙江大学计算机学院 4 模拟器屏幕 HVGA L 480 x320横屏HVGA P 320 x480竖屏 默认 QVGA L 320 x240横屏QVGA P 240 x320竖屏WVGA L 800 x480横屏 浙江大学计算机学院 5 UI用户界面设计 Icon设计 应用程序需要各种各样的图标尺寸和定位Launchericons要有多样化的形状和样式 但又要形成统一的视觉风格 其尺寸和定位也用统一 红色边框为图标尺寸蓝色边框是图形尺寸 比图标尺寸稍小 图形之外的空间用于显示阴影和特殊效果 橙色边框是另外一种图形尺寸 两种类型的图形尺寸可以达到统一的视觉权重 浙江大学计算机学院 6 Icon的风格 符合当下的流行趋势 避免过度使用隐喻 高度简化和夸张 小尺寸图标也能易于识别 不宜太复杂 尝试抓住程序的主要特征 比如音像作为音乐的icon 使用自然的轮廓和形状 看起来几何化和有机化 不失真实感 采用前视角 几乎没有透视 光源在顶部 不光滑但富有质感 浙江大学计算机学院 7 UI用户界面设计 Widget设计 Widget是Android1 5的一个新特性 允许程序显示一些常用而又重要的信息在用户的桌面主屏上标准的Android系统映像包含了一些示例widgets包括指针时钟 音乐播放器和其他工具如Google搜索栏 Widget即是可由用户自己编写的功能控件 典型的AndroidWidget有三个主要组件 边框框架图形控件以及其他元素注意widgets的开状尺寸以便在主屏上显示 浙江大学计算机学院 8 UserInterfaceGuidelines ActivityandTaskDesignActivitiesarethebasic independentbuildingblocksofapplications Asyoudesignyourapplication sUIandfeatureset youarefreetore useactivitiesfromotherapplicationsasiftheywereyours toenrichandextendyourapplication Theseguidelinesdescribehowactivitieswork illustratesthemwithexamples anddescribesimportantunderlyingprinciplesandmechanisms suchasmultitasking activityreuse intents theactivitystack andtasks Itcoversthisallfromahigh leveldesignperspective 浙江大学计算机学院 9 UI用户界面设计 Menu设计 选项菜单OptionsMenu 活动的主菜单 通过按下设备菜单键来显示它 选项菜单包含两组菜单项 图标菜单IconMenu这个是当用户按下菜单键时最初出现屏幕下方的item集合 它支持最多6个菜单项 只有这些菜单支持图标而且这些菜单并不支持checkboxes或者radiobuttons 扩展菜单ExpandedMenu这是通过按 更多 菜单显现出来的一个竖向的项目列表 它仅当图标菜单过多时存在而且是由6个以及其它选项菜单组成 上下文菜单ContextMenu 浮动菜单列表 通常在你长时间按在一个视图上时出现 比如一个列表项 子菜单Submenu 浮动菜单列表 通过在选项菜单或上下文菜单选择菜单项显露出来 不支持嵌套子菜单 浙江大学计算机学院 10 AndroidUI布局 ViewGroup通过各种Layout 控制所属View的显示位置 浙江大学计算机学院 11 Layout AbsoluteLayoutFrameLayoutGridViewLinearLayoutListLayoutRadioGroupTableLayout 浙江大学计算机学院 12 显示图像 增加ImageView与原先的TextView 按垂直线性布局 线性布局LinearLayout 浙江大学计算机学院 13 布局 线性布局LinearLayout垂直 android orientation vertical 水平 android orientation horizontal 浙江大学计算机学院 14 FrameLayout 在屏幕上故意保留的空白空间 可以填充一个单独的对象 所有子元素都钉到屏幕的左上角不能为子元素指定位置 浙江大学计算机学院 15 TableLayout 子元素放入到行与列中不显示行 列或是单元格边界线单元格不能横跨行 如HTML中一样 浙江大学计算机学院 16 AbsoluteLayout 指明子元素确切的屏幕 X Y 坐标 0 0 是左上角 下移或右移时 坐标值增加允许元素重叠 但是不推荐 注意 一般建议不使用AbsoluteLayout除非你有很好的理由来使用它因为它相当严格并且在不同的设备显示中不能很好地工作 浙江大学计算机学院 17 Android长度单位详解 dp sp px in pt mm dip android中定义的dimension单位有以下这些 px Pixels 像素 对应屏幕上的实际像素点 in Inches 英寸 屏幕物理长度单位 mm Millimeters 毫米 屏幕物理长度单位 pt Points 磅 屏幕物理长度单位 1 72英寸 dp 与密度无关的像素 逻辑长度单位 在160dpi屏幕上 1dp 1px 1 160英寸 随着密度变化 对应的像素数量也变化 但并没有直接的变化比例 dip 与dp相同 多用于Google示例中 sp 与密度和字体缩放度无关的像素 与dp类似 但是可以根据用户的字体大小首选项进行缩放 尽量使用dp作为空间大小单位 sp作为和文字相关大小单位 浙江大学计算机学院 18 RelativeLayout 让子元素指定它们相对于其他元素的位置 通过ID来指定 或相对于父布局对象 跟AbsoluteLayout这个绝对坐标布局是个相反 在RelativeLayout布局里的控件包含丰富的排列属性 Layoutabove 控件在指定控件的上方Layoutbelow 控件在指定控件的下方Layouttoleftof 使用RelativeLayout布局的时候 尽少程序运行时做控件布局的更改 因为RelativeLayout布局里面的属性之间 很容易冲突 浙江大学计算机学院 19 Color颜色 android graphics Color包含颜色值Color BLACKColor BLUEColor CYANColor DKGRAYColor GRAYColor GREENColor LTGRAYColor MAGENTAColor REDColor TRANSPARENTColor WHITEColor YELLOW 浙江大学计算机学院 20 字体风格Typeface android graphics Typeface实践Typeface create Typefacefamily intstyle 创建一个混合型新的字体 有4 5中搭配Typeface setTypeface Typefacetf intstyle 设置一个混合型字体 有4 5中搭配Typeface setTypeface Typefacetf 设置一个只有Typeface风格的字体 有五种形式字体 4种 BOLD BOLD ITALIC ITALIC NORMAL粗体 粗斜体 斜体 普通字体风格 5种 DEFAULT DEFAULT BOLD MONOSPACE SANS SERIF SERIF默认字体 默认粗体 单间隔字体 无衬线字体 衬线字体 浙江大学计算机学院 21 使用Button 在Main xml定义一个Button在Java代码中1 导入Button包importandroid widget Button2 声明一个ButtonprivateButtonpress3 利用findViewById 方法获取main xml中的Buttonpress Button findViewById R id Button01 浙江大学计算机学院 22 使用Button 4 设置Button的属性 可以不作 5 给Button添加事件监听器Button setOnClickListener6 定义处理事件处理程序 press setOnClickListener newOnClickListener publicvoidonClick Viewv show setText Hi GoogleAndroid show TextView findViewById R id TextView01 浙江大学计算机学院 23 处理用户输入 为View设监听器 View OnClickListenerOnClick View OnLongClickListenerOnLongClick View OnFocusChangeListenerOnFocusChange View OnKeyListenerOnKey View OnTouchListenerOnTouch View OnCreateMenuListenerOnCreateContextMenu 为View设监听器以处理某一类型事件 浙江大学计算机学院 24 进程优先级顺序 前台进程 ActiveProcess 前台Activity 包含正在运行的广播接收器 正在运行的服务 可视进程 VisibleProcess 包含一个可视化的Activity 服务进程 StartedServiceProcess 包含一个被开启的服务 处理服务 不是直接可视 例如媒体播放器 网络上传 下载 后台进程 BackgroundProcess 包含一个不可视的Activity 可以在任意时刻杀死该进程来回收内存 空进程 EmptyProcess 没有持有任何应用程序组件 浙江大学计算机学院 25 Activity状态1 active 当一个Activity在屏幕的最上层时 对堆栈的最顶端 它就是属于active或者running的状态 paused 如果一个Activity失去焦点 focus 但还看得到它的画面 比如 一个新的Activity画面并不是全屏幕或者它是一个半透明的情况 那失去焦点的Activity则处在paused的状态 像这个失去焦点的Activity它还是完全活着的 并没有消失 活着的意思是指 Activity自己本身所有的状态及数据都还是存在的 也跟窗口管理程序windowmanager保持联系着 像这种paused的Activity 会在一种情况下消失 那就是当系统的内存不够用之时 系统会自动判断 将不重要的Activity移除 浙江大学计算机学院 26 Activity状态2 stop 如果一个Activity被其它的Activity完全的遮盖住时 它仍然保有全部的状态及数据 但因为它已不再被使用者看见 所以它的画面是被隐藏起来的 画面不需要更新 当系统内存不足时 这种stop状态的Activity时最先被系统考虑拿下来释放内存的 finish 当一个Activity处于pause或stop的状态时 系统可以要求Activity结束 finish 或直接移除 kill 它 当它需要再度呈现在使用者面前时 它必须要能完整的重新启动及回复先前的状态 浙江大学计算机学院 27 Activity状态转换 Activity状态转换 浙江大学计算机学院 28 Activity状态管理 浙江大学计算机
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号