本文主要对Android UI 用户界面开放的一些基本概念,均不做深入讲解,但可以快速浏览Android开放经常涉及到的一些基本概念和要素。
一、 界面元素
1. 窗口:Activity
应用程序中每个屏幕显示都通过继承和扩展基类Activity实现
分类:基本Activity,带内容的Activity(如ListActivity)
2. 对话框:Dialog
一种显示于Activity之上的界面元素,由Activity管理,用于显示一些临时信息和功能,它比Activity开销小
1) 常用对话框:
AlertDialog:信息对话框
DatePickerDialog,TimePickerDialog:时间日期选择对话框
ProgressDialog:进度对话框
还可以设置对话框内容为我们自定义的View
2) 相关函数:
onCreateDialog():创建对话框的实现
showDialog():需要显示的时候调用
onPrepareDialog():更改已有对话框时调用
3. 菜单:Menu
一种显示于Activity之上的界面元素,由Activity管理,用于提供用户一些额外的选项和设置
1) 常用菜单:
Options Menu:按Menu键时从屏幕底部滑出的菜单
Context Menu:用户通过在按件上长按调出它
Submenu:用于给菜单分类,可被添加到其它菜单上,不能添加到子菜单上
2) 相关函数:
onCreateOptionMenu():创建菜单 (onCreateContextMenu…)
onOptionsItemSelected():处理菜单项的单击事件
onPrepareOptionsMenu():动态更新
4. 可视化控件:View
View是可视化控件的基类
1) 常用控件:
TextView, ImageView
Button, CheckBox, RadioButton, ImageButton, ToggleButton
AnalogClock, DigitalClock
EditText, List…
2) 数据绑定:adapter
adapter将控件(如List, GridView)和复杂数据(如数据,键表)绑定起来
5. 其它界面元素
标题栏
二、 layout布局的实现
设置控件在屏幕上如何排布
1. LinearLayout:线性的布局方式
最常用,上下或左右的添加控件
2. GridView:网格布局
控件按照顺序依次填到每个格子里就好了,使界面很整齐
3. TableLayout:表格布局
以行列形式管理子控件,每行为一个TableRow,TableRow可添加子控件
4. AbsoluteLayout:绝对坐标布局
可以让子元素指定准确的x/y坐标值,并显示在屏幕上。(0, 0)为左上角。
AbsoluteLayout没有页边框,允许元素之间互相重叠(尽管不推荐)。
不推荐使用,因为其在不同的设备上可能不能很好地工作。
5. RelativeLayout:相对坐标布局
控件可指定他们相对于其它元素或父元素的位置(通过ID指定)。
可以以右对齐,或上下,或置于屏幕中央的形式来排列两个元素。
6. FrameLayout:单帧布局
所有的子元素将会固定在屏幕的左上角,后一个子元素将会直接在前一个子元素之上进行覆盖填充
三、 事件响应
1. 用注册回调函数的方式响应事件
2. 如果没被任何一个View处理,则由Activity处理
3. 常用事件处理
1) onKeyDown()
2) onKeyUp()
3) onTrackballEvent()
4) onTouchEvent()
四、 应用软件代码目录结构
1. res:资源
资源是在代码中使用到的并且在编译时被打包进您的应用程序的附加文件
在代码中通过R类调用(R类自动生成,形如R.string.title)
1) layout:存放布局用的xml文件
a) 布局就像容器,里面可以装下很多控件,每个控件又有布局,字体设定,
如字体大小在layout的xml里使用:
Android:textAppearance=”?android:attr/textAppearanceSmall”
b) 默认的布局文件main.xml
2) drawable:存放图片图标
3) values:存放常量的xml文件(如字串)
2. src:代码
3. AndroidManifest.xml
包含应用程序的基本信息,有哪些组件,哪些资源
1) 应用程序的java包名
2) 应用程序中所含组件(Activity, Service, BroadcastReceiver, ContentProvider)
3) 应用程序调用其它程序时的权限
4) 应用程序被其它程序调用时对其它程序的权限要求
5) 使用Android API的最低版本
6) 应用程序依赖的库
五、 国际化的支持(多语言)
1. 在系统中如何设置本地语言
桌面->settings->Local & text->Select locale->Chinese(China)
2. 在程序中如何加入多语言支持
res/value中是默认的字体
把它复制一份成为res/value-zh-rCN文件夹,然后把其中文字改为简体中文
3. 在不改变系统设置的前提前,测试当前应用对某一语言的支持
import java.util.Local; // 引入相关类
import android.util.DisplayMetrics;
在OnCreate函数中加入以下本地化设置
Resources res = getResources();
Configuration conf = res.getConfiguration();
conf.locale = Locale.SIMPLIFIED_CHINESE; // 设置为简体中文
DisplayMetrics dm = res.getDisplayMetrics();
res.updateConfiguration(conf,dm);
编译后再运行程序时,读取的字串就是res/value-zh-rCN目录中strings.xml里的文字了
六、 常见问题及解决方法
1. android.app.Application
创建一个属于你自己的android.app.Application的子类,然后在manifest中申明一下这个类,这是android就为此建立一个全局可用的实例,你可以在其他任何地方使用Context.getApplicationContext()方法获取这个实例,进而获取其中的状态
2. 用别人写的java文件改出自己的,R.xx报错
由于资源找不对,要把它的res文件和AndroidManifest.xml内容也做相应替换,注意xml里边要改成自己的类名
3. android中可以使用java中的类吗
一般数据结构使用它,而界面使用android自带的界面元素
4. layout中的控件与程序中控件的关系
平等的,layout中的控件用R.id.xxx得到
5. 布局冲突
requestWindowFeature与setContentView冲突
七、 android中几个重要的包(建议逐个熟悉,你就能熟能生巧了!)
android.app :提供高层的程序模型、提供基本的运行环境
android.content :包含各种的对设备上的数据进行访问和发布的类
android.database :通过内容提供者浏览和操作数据库
android.graphics :底层的图形库,包含画布,颜色过滤,点,矩形,可以将他们直接绘制到屏幕上.
android.location :定位和相关服务的类
android.media :提供一些类管理多种音频、视频的媒体接口
android.net :提供帮助网络访问的类,超过通常的java.net.* 接口
android.os :提供了系统服务、消息传输、IPC 机制
android.opengl :提供OpenGL 的工具
android.provider :提供类访问Android 的内容提供者
android.telephony :提供与拨打电话相关的API 交互
android.view :提供基础的用户界面接口框架
android.util :涉及工具性的方法,例如时间日期的操作
android.webkit :默认浏览器操作接口
android.widget :包含各种UI 元素(大部分是可见的)在应用程序的屏幕中使用
相关推荐
#### 一、Android UI开发概览 在移动应用开发领域,用户界面(User Interface, UI)设计对于提升用户体验至关重要。Android作为全球最广泛使用的移动操作系统之一,其UI开发能力备受关注。本次Android UI开发专题...
《Android UI基础教程》是Jason Ostrander撰写的一本深入探讨Android用户界面设计与开发的专业书籍,由Peachpit Press出版。本书旨在帮助读者掌握设计美观、高效且用户友好的Android应用界面所需的各项技能和知识,...
《Android UI设计基础》是Jason Ostrander撰写的一本深入探讨Android用户界面设计的专业书籍,由Peachpit Press出版。本书旨在为读者提供全面而深入的Android UI设计知识,涵盖从设计理论到实际开发的各个环节,是...
Android平台持续改进,得益于开发者的贡献,使得用户界面更加成熟和完善。 ### 设计模式实例 接下来,我们将通过几个关键的UI设计模式来具体展示如何应用上述原则: 1. **Dashboard(仪表板)**: - 作用:仪表...
专题内容涵盖了一系列重要的Android UI开发概念和技术,包括资源管理、图形处理、视图展示及常用控件的使用等。 #### 二、资源管理(android.content.res.Resources) 在Android应用开发中,资源管理是极其关键的...
- **基本概念**:视图是用户界面的基本可视单元,它可以是按钮、文本框等任何用户可以看到的界面元素。 - **功能**:存储屏幕上特定矩形区域内所显示内容的数据结构,并能够实现所占据区域的界面绘制、焦点变化、...
Android用户界面(UI)设计是移动应用开发中的一个重要组成部分。随着智能手机和平板电脑的普及,越来越多的开发者和爱好者开始关注如何创建美观且功能丰富的应用程序。对于Android UI开发而言,自绘控件和游戏制作等...
3. **UI 设计与布局**:教授如何使用XML布局文件创建美观的用户界面,包括各种视图控件的使用方法。 4. **数据存储技术**:涵盖SQLite数据库、文件存储、SharedPreferences等常用的数据存储方式。 5. **网络通信**:...
- **Android用户界面** - 目标:熟悉Android UI组件,如TextView、Button、EditText等,掌握如何使用XML布局文件设计界面。 - **Android基本组件** - 目标:深入理解四大组件(Activity、Service、...
在Android开发中,用户界面(UI)交互是提升用户体验的关键因素之一。UI事件处理机制允许开发者捕捉并响应用户的输入操作,如触摸、点击、滑动等。本文将深入探讨Android中常用的几种UI事件处理方式及其背后的原理。 ...
- **主要内容**:这份官方教程包含了五个主要部分,旨在全面介绍Android UI设计的基本原则和技术要点。 - **该做什么,不该做什么**:明确指出在设计过程中应当遵循的最佳实践以及应避免的常见误区。 - **设计哲学...
《Android/OPhone开发完全讲义》是李宁编著的一本专为Android和OPhone开发者准备的详尽教程,其上册主要涵盖了Android和OPhone平台的基础知识、开发环境搭建以及应用程序的基本构建过程。这份讲义对于初学者和有一定...
通过本次课程的学习,初学者能够建立起关于Android应用开发的基础认知,并掌握如何利用View组件构建美观实用的用户界面。此外,借助官方提供的资源和支持,开发者能够在后续的学习和实践中不断深化理解,提高技术...
- **设计与开发有吸引力的用户界面**:了解如何使用各种布局(Layout)、视图(View)和菜单(Menu),构建美观且功能强大的用户界面(UI)。 - **Android UI集成化思想**:理解Android平台对于UI的一体化设计理念,包括...