• 1. 第二章 Android UI开发布局的类型 样式和主题 国际化 程序调试
  • 2. ✎ 学习目标3 国际化重点了解掌握2样式和主题布局的类型 程序调试1
  • 3.  目录让IT教学更简单,让IT学习更有效UI概述2.1布局文件的创建 2.2布局的类型2.3☞点击查看本小节知识架构样式和主题2.4☞点击查看本小节知识架构
  • 4.  目录让IT教学更简单,让IT学习更有效程序调试2.6☞点击查看本小节知识架构本章小节 2.7国际化2.5
  • 5.  知识架构2.3 布局的类型返回目录2.3.1相对布局(RelativeLayout)线性布局(LinearLayout) 网格布局(GridLayout)2.3.4 表格布局(TableLayout) 2.3.3 绝对布局(AbsoluteLayout) 2.3.6 案例——用户注册2.3.7线性布局(LinearLayout) 帧布局(FrameLayout) 2.3.52.3.2
  • 6.  知识架构2.4 样式和主题返回目录2.4.1样式和主题的使用案例——自定义样式和主题2.4.2
  • 7.  知识架构2.6 程序调试返回目录2.6.1Junit单元测试2.6.2LogCat使用 Toast的使用2.6.3
  • 8. 让IT教学更简单,让IT学习更有效Android程序界面如何设计的呢?2.3 布局的类型
  • 9. 在Android应用中,UI(User Interface)界面是人与手机之间数据传递、交互信息的重要媒介和对话接口。 Android程序开发最重要的一个环节就是界面处理,界面的美观度直接影响用户的第一印象,因此,开发一个整齐、美观的界面是至关重要的。 2.1 UI概述
  • 10. 让IT教学更简单,让IT学习更有效2.1 UI概述Android应用的界面是由View和ViewGroup对象构建而成的。View类是Android系统平台上用户界面表示的基本单元,View的一些子类被统称为Widgets(工具),它们提供了诸如文本输入框和按钮之类的UI对象的完整实现。 ViewGroup是View的一个扩展,它可以容纳多个View,通过ViewGroup类可以创建有联系的子View组成的复合控件。
  • 11. 让IT教学更简单,让IT学习更有效2.2 布局文件的创建在Android应用程序中,界面是通过布局文件设定的。 布局文件采用XML格式,每个应用程序默认包含一个主界面布局文件,该文件位于项目的“res/layout”目录中。 应用程序提供的一个布局文件不能满足需求,需要添加布局文件
  • 12. 让IT教学更简单,让IT学习更有效Android中 有几种布局?2.3 布局的类型
  • 13. Android中的布局如下: LinearLayout RelativeLayout TableLayout GridLayout FrameLayout AbsoluteLayout 2.3 布局的类型
  • 14. 让IT教学更简单,让IT学习更有效2.3.1 相对布局(RelativeLayout)。在Eclipse中开发Android程序时,默认采用的就是相对布局。 相对布局通常有两种形式,一种是相对于容器而言的,一种是相对于控件而言的。2.3 布局的类型
  • 15. 让IT教学更简单,让IT学习更有效2.3.1 相对布局(RelativeLayout)2.3 布局的类型RelativeLayout的重要属性对应表示android:layout_alignParentTop= ”true|false”是否和父控件的顶部平齐android:layout_alignParentBottom=”true|false”是否和父控件的底部平齐android:layout_alignParentLeft= ”true|false”是否和父控件的左边平齐android:layout_alignParentRight= ”true|false”是否和父控件的右边平齐android:layout_centerInParent= ”true|false”是否在父控件的中间位置android:layout_centerInHorizontal=”true|false”是否水平方向在父控件的中间android:layout_centerInVertical= ”true|false”是否垂直方向在父控件的中间
  • 16. 让IT教学更简单,让IT学习更有效2.3.1 相对布局(RelativeLayout)。2.3 布局的类型RelativeLayout的重要属性对应表示android:layout_alignTop=”@id/xxx”与xxx的顶部平齐xxx(代表控件或者容器的ID,可以是父控件的ID)android:layout_alignBottom=”@id/xxx”与xxx的底部平齐android:layout_alignLeft=”@id/xxx”与xxx的左边平齐android:layout_alignRight=”@id/xxx”与xxx的右边平齐android:layout_above=”@id/xxx”在xxx的上面,该控件的底部与xxx顶部平齐android:layout_below=”@id/xxx”在xxx的下面,该控件的顶部与xxx底部平齐android:layout_toRightOf=”@id/xxx”在xxx的右边,该控件的左边与xxx的右边平齐android:layout_toLeftOf=”@id/xxx”在xxx的左边,该控件的右边与xxx的左边平齐
  • 17. 让IT教学更简单,让IT学习更有效2.3.1 相对布局(RelativeLayout)。2.3 布局的类型内边距:元素的内边距在边框和内容区之间。控制该区域最简单的属性是 padding 属性。
  • 18. 让IT教学更简单,让IT学习更有效2.3.1 相对布局(RelativeLayout)。2.3 布局的类型dip: device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。  dp: dip是一样的 px: pixels(像素). 不同设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。 pt: point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用; sp: scaled pixels(放大像素). 主要用于字体显示best for textsize,与dp理念相同。 in(英寸):长度单位。  mm(毫米):长度单位。
  • 19. 2.3 布局的类型2.3.2 线性布局(LinearLayout)线性布局是Android中较为常用的布局方式,它使用标签表示。 线性布局有两种方式指定控件位置,一种是水平方向,一种是竖直方向。
  • 20. 2.3 布局的类型2.3.3 表格布局(TableLayout)表格布局就是让控件以表格的形式来排列组件的,只要将组件或信息放在单元格中,控件就可以整齐的排列。 在TableLayout中,行数由TableRow对象控制的,即布局中有多少TableRow对象,就有多少行。 TableRow不需要设置宽度和高度,宽度一定是match_parent, 高度一定是wrap_content。
  • 21. 2.3 布局的类型 2.3.4 网格布局(GridLayout)网格布局是Android4.0新增的布局,它实现了控件的交错显示,能够避免因布局嵌套对设备性能的影响,更利于自由布局的开发。 网格布局用一组无限细的直线将绘图区域分成行、列和单元,并指定控件的显示区域和控件在该区域的显示方式。
  • 22. 2.3 布局的类型 脚下留心:由于GridLayout是Android4.0之后有的新功能,如果要在项目中使用这种布局,需要把SDK的最低版本指定为Android4.0(API14)以上。 AndroidManifest.xml中,配置SDK兼容的最低版本和最高版本示例代码如下:
  • 23. 2.3 布局的类型 2.3.5 帧布局 (FrameLayout)帧布局为每个加入其中的控件创建一个空白区域(称为一帧,每个控件占据一帧)。 采用帧布局设计界面时,只能在屏幕左上角显示一个控件,如果添加多个控件,这些控件会按照顺序在屏幕的左上角重叠显示,且会透明显示之前控件的文本。 常见的刮刮卡就是通过帧布局实现的。
  • 24. 2.3 布局的类型 2.3.6 绝对布局 AbsoluteLayout绝对布局需要通过指定x、y坐标来控制每一个控件的位置,放入该布局的组件需要通过android:layout_x和android:layout_y两个属性指定其准确的坐标值,并显示在屏幕上。
  • 25. 2.3 布局的类型 2.3.6 绝对布局 (AbsoluteLayout)绝对布局多用于游戏开发中,由于多分辨率兼容麻烦,绝对布局在Android1.5后被Google弃用,因此应用开发一般情况下不推荐使用绝对布局。
  • 26. 2.3 布局的类型 2.3.7 案例——用户注册接下来通过一个用户注册的案例演示相对布局和线性布局的使用。 TextView EditView Button RadioButton
  • 27. 2.4 样式和主题2.4.1 样式和主题的使用Android系统中,包含了很多定义好的样式和主题,这些样式和主题用于定义布局显示在界面上的风格。 样式 样式是属性的集合,例如定义属性fontColor、fontSize、layout_width、layout_height等,以独立的资源文件存放在XML文件中,并设置样式的名称。 Android Style类似网页设计中的级联样式CSS设计思路,可以让设计与内容分离,并且可以方便的继承、覆盖、重用。 样式只能作用于单个的View
  • 28. 2.4 样式和主题2.4.1 样式和主题的使用Android系统中,包含了很多定义好的样式和主题,这些样式和主题用于定义布局显示在界面上的风格。 主题 主题通过AndroidManifest.xml中的结点用在整个应用或者某个Activity,它的影响是全局的。 样式的优先级高于主题
  • 29. 2.4 样式和主题2.4.1 样式和主题的使用下图就是一幅设置了窗口化主题的应用。
  • 30. 2.4 样式和主题2.4.2 案例——自定义样式和主题尽管Android系统提供了很多样式和主题,但有时这些效果并不能满足实际需求,此时还可以自定义样式或者主题。 自定义样式和主题的步骤如下: 1)在res/values 目录创建样式文件style.xml,添加 根节点。 2)在节点中添加一个