Android界面开发
转自:http://xy0811.spaces.live.com/blog/
一、 界面元素
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相关知识总结android相关知识总结
Android入门到精通知识总结,适合与Android知识的中初级学习者,个人Android开发实例及经验总结
android Bitmap相关知识介绍~~~
第二章 Android相关知识 5 2.1 Android简介 5 2.2 Android的系统架构 5 2.3 Android应用程序四大组件 7 2.4 Intent类 9 2.5 Java语言和事件处理模型 9 2.6 异常处理 10 2.7 SQLite数据库 11 2.7.1 SQLite的功能 11 ...
这是一本全面介绍Android相关知识的图书,全书分为三个部分,由浅入深,从Android初级知识,讲到一些关于核心编程的实用示例,最后还讨论了一些高级应用程序的话题。在介绍Android编程的时候,各主题都使用了独立的...
Android—wifi 相关知识 网上的资料: WiFi协议 https://blog.csdn.net/leho666/article/details/89136542 802.11 MAC管理帧 https://www.jianshu.com/p/61333a1c7d85 2.4G 和5G区别 ...世界各个地区WIFI 2.4G及5G信道...
Android属性动画示例Demo,附带个人总结的属性动画相关知识树。
知识总结 面试知识整理 简书专题 视频教程资源获取网站 开源API 三方库收集 Android架构 工具 开源项目 Flutter学习资料 知识总结 面试知识整理 简书专题 视频教程资源获取网站 开源API 三方库收集 Android架构 ...
Android 蓝牙开发相关知识总结
Android 数据存储 相关知识,讲解SharedPreferences,SQLITE,内部存储,网络存储的知识。有疑问,联系本人:QQ:343827585
android开发相关基础和实用的小知识 android开发相关基础和实用的小知识 android开发相关基础和实用的小知识 android开发相关基础和实用的小知识
Android知识图谱,安卓开发相关的知识内容用一张图表示,条理清晰..
Android应用开发中View是基本的概念之一,也是应用开发最基础的构件。...文档中最近了View相关的技术知识点,既可以作为平时开发时的参考,也可以作为准备面试的知识提纲,帮助自己快速建立知识体系。
该Android项目完成了 1. 基本控件+布局的使用:包括TextView,EditText,Button, RadioButton,CheckBox,ImageView,LinearLayout,RelativeLayout等。 2. ListView+Adapter ...8.其他Android相关知识点
主要对handler 、message机制进行了详解,如果想了解更多android相关知识,可以去我博客看看
知识共享-AndroidNDK相关知识(雷惊风).
这是本人在研究安卓蓝牙模块的时候,自己整理的bluetooth框架相关知识点,android顶起。
通过学习实现的一个简易五子棋小游戏,主要学习Android中自定义View相关知识 [注:本内容来自网络,在此分享仅为帮助有需要的网友,如果侵犯了您的权利,麻烦联系我,我会第一时间删除,谢谢您。]
android简单的链式线程切换工具类,简单适用,可用于学习线程相关知识
该Android项目完成了 1. 基本控件+布局的使用:包括TextView,EditText,Button, RadioButton,CheckBox,ImageView,LinearLayout,RelativeLayout等。 2. ListView+Adapter ...8.其他Android相关知识点