一、 界面元素
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. 其它界面元素
标题栏
二、 布局的实现
设置控件在屏幕上如何排布
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界面开发的相关知识点,帮助开发者构建美观且功能强大的用户界面。 首先,Android界面设计主要基于XML布局文件,这些文件通常位于项目的res/layout目录下。XML布局文件定义了屏幕上的各个...
本教程以"Android界面开发基础_视频讲解_深入浅出"为主题,旨在帮助初学者系统地掌握Android界面开发的基础知识。通过作者sundy精心编排的系列视频,我们可以深入理解并实践Android界面设计的各种技术。 首先,...
《Android User Interface Development for Beginners》是一本专为初学者设计的Android界面开发指南,由外籍作者撰写,旨在帮助读者深入理解并掌握构建Android用户界面的关键技术。这本书详细讲解了如何利用Android ...
本篇主要将深入探讨Android界面开发的相关知识点,包括布局管理器、控件使用、自定义视图、动画效果、适配策略以及测试方法。 首先,Android界面的基础是布局(Layout)。Android提供了多种布局管理器,如线性布局...
总的来说,DroidDraw作为一款辅助工具,对于简化Android界面开发工作流,特别是对新手而言,具有很高的实用价值。不过,随着Android Studio的日益成熟,其内置的布局编辑器(如Live Preview)和Material Design组件...
**Android界面开发** Android界面开发是构建Android应用的核心部分,它涉及到用户与应用程序交互的所有视觉元素。为了简化这一过程,开发者可以使用各种工具,其中DroidDraw是一个专门针对Android界面设计的工具,...
### Android界面开发初学者指南知识点概述 #### 一、书籍基本信息 - **书名**:《超清晰Android界面开发电子书》 - **作者**:Jason Morris - **出版年份**:2011年 - **出版社**:Packt Publishing - **ISBN**:...
android 界面开发-高仿美团界面
虽然DroidDraw在一定程度上简化了Android界面设计,但需要注意的是,随着Android开发环境的不断进化,如Android Studio的完善和Gradle构建系统的普及,现代的Android开发更倾向于使用更为强大的集成开发环境。...
本文将探讨如何快速精通Android界面开发,特别关注从J2ME项目移植到Android平台的过程。 首先,Android与J2ME虽然在基本接口内容上有相似之处,但它们在命名和实现上存在差异。对于J2ME开发者来说,熟悉Android接口...
在Android应用开发中,图形用户界面(UI)的设计与实现是至关重要的,它直接影响到用户的体验和应用的吸引力。这个“Android图形用户界面(UI)开发教程合集”是一份全面的资源,旨在帮助开发者从入门到精通掌握...
在Android应用开发中,设计和实现用户界面是至关重要的步骤,因为它直接影响到用户的体验和对应用的接受度。"Android开发150套界面资源.zip" 提供的是一系列丰富的界面设计素材,专为Android开发者准备,旨在帮助...
在Android开发中,界面设计是用户体验的关键组成部分。本示例主要关注如何构建一个基本的Android...通过对"MyTaskListItem"的分析和学习,开发者可以深化对Android界面开发的理解,创建出更加精美和功能丰富的应用。