Android UI 设计
1.Android发展简史
创始人:Andy Rubin(安迪·鲁宾)
2007年11月5日,宣布成立开放手机联盟(Open Handset Alliance,简称OHA)
2013年11月1日,Android4.4正式发布
2.Android应用程序组成
(1)Activity -------------------------------------------- 一个应用包含多个Activity,且存在生命周期
(2)Intent(意图)----------------------------------- 主要用于不同Activity之间跳转,并且传递数据
(3)BroadcastReceiver(广播)----------------- 主要用于对应用程序app的外部事件进行响应
(4)Service -------------------------------------------- 后台运行的应用程序
(5)Content Provider -------------------------------- 用于在不同应用程序app之间交换数据
3.项目创建
(1)创建新的Application及参数含义
(2)Android的项目的目录结构
(3)3个重要文件
在Android应用程序中,逻辑控制层与表现层是分开的设计的。逻辑控制层由Java应用程序实现,表现层由XML文档描述。
<1>java文件 MainActivity.java
<2>布局 activity_main.xml
<3>配置文件 AndroidMainifest.xml
activity的注册
<!-- 注册GridlayoutActivity -->
<activity
android:name="com.example.app08.GridlayoutActivity">
</activity>
inent-filter过滤器(运行后第一个运行的页面)
<activity
android:name="com.example.app08.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
4.Android布局管理
(1)设计思想
Android应用程序的设计模式是采用MVC模式,把应用程序分为表现层(View)、控制层
(Control)、业务模型层(Model)。
(2)布局文件规范与重要属性
文件命名规范:只能由小写英文字母、数字和下划线组成,并且只能以小写字母开头。
(3)布局方式
eg: android:layout_width=“fill_parent” fill_parent(填充父窗口)
android:layout_height=“wrap_content” wrap_content(自适应)
<1>线性布局LinearLayout
设置线性布局为水平方向 android:orientation = "horizontal”
设置线性布局为垂直方向 android:orientation = “vertical”
<2>帧布局FrameLayout
帧布局是将组件放置到左上角位置,每多添加一个组件,后面组件将遮盖前面组件。
<3>表格布局TableLayout
表格布局将页面划分成行列构成的单元格。
android:layout_column :指定列编号
android:collapseColumns: 设置需要被隐藏的列序号
android:shrinkColumns: 设置允许被收缩的列序号
android:stretchColumns: 设置运行被拉伸的列序号
<4>网格布局GridLayout
columnCount:设置网格列的数量。
rowCount:设置网格行的数量。
layout_columnSpan:设置组件占据的列数。
layout_rowSpan:设置组件占据的行数。
5.Android 组件
View类是用户界面组件的共同父类
(1)文本框TextView
(2)按键Button
按钮Button用于处理人机交互的事件,按钮Button是文本标签TextView的子类
(3)进度条ProgressBar
进度条能够直观显示某个操作的进度
(4)单选组件RadioGroup与复选按钮CheckBox
单选组件RadioGroup用于多选项中只允许任选其中一项,由一组单选按钮RadioButton组成
复选按钮CheckBox是按钮Button的子类,用于多选项中用户可以一次性选择多个选项
(5)ListView类
ListView类组件必须与适配器配合使用,由适配器提供显示样式和显示数据
常用方法: setAdapter(ListAdapter adapter) 设置提供数组选项的适配器
适配器接口 Adapter:Adapter是连接后端数据和前端显示的适配器接口,是数据和UI之间一个重要的纽带。
常用Adapter: BaseAdapter是一个抽象类,继承它需要实现较多的方法,所以也就具有较高的灵活性
ArrayAdapter支持泛型操作,最为简单,只能展示文字
SimpleAdapter有最好的扩充性,可以自定义出各种效果
(6)网格视图GridView
GridView网格视图是按照行、列分布的方式来显示多个组件,通常用于显示图片或是图标等
GridView与ListView类似,都需要通过Adapter来提供要显示的数据