资源适配过程:未知设备>提取设备参数>资源池>最佳匹配规则>未知设备
资源类型
| 类型 | 存放位置 | 说明 |
|---|---|---|
| 动画资源 | res/anim/res/drawable/ | 自定义动画实现,如旋转、平移、缩放等 |
| 状态颜色资源 | res/color/ | 可以给某个view不同状态下不同的颜色 |
| 图形资源 | res/drawable/ | 所有可以显示到屏幕上的图像 |
| 布局资源 | res/layout | 布局文件定义UI的框架,并且详细描述了view和layout |
| 菜单资源 | res/menu | 定义菜单选项 |
| 字符串资源 | res/values | 在编写应用程序源码时,不允许对某个文本属性直接赋予一个字符串,这是对于字符串国际化和规范化的表现 |
| 样式资源 | res/values | 相当于将常用的UI外观保存成模板 |
| 原始资源 | res/raw | 存放原始格式的资源,如音频文件,也可以放在assets/目录下,通过AssetManager访问 |
| 其他资源 | res/values | 用于定义各种变量 |
| 属性资源 | res/ | Android给我们定义了很多常用属性,可以统一以“android” + “:” + 属性名,如Android:id、Android:visible等 |
提供可选资源
- 分辨率
- MCCMNC
- 地区语言
- 最小宽度/高度高度
- 可用宽度/高度
- 屏幕大小
- 屏幕宽高外观
- 屏幕方向
- UI模式
- 夜间模式
- 屏幕像素密度
- 触摸屏类型
- 键盘可用性
- 首选文本输入方法(按键设备)
- 定位键可用(光标定位)
- 主要的非触摸屏的定位方式
- 平台版本
最佳资源匹配流程
- 第一阶段:排除当前不符合设备的资源项
- 第二阶段:按照资源优先顺序考察每个资源是否包含这个标签
屏幕适配
- 屏幕适配的重要参数
- 屏幕分辨率
- 屏幕密度(dip)
- 屏幕尺寸(inch) 像素和Dpi关系:px = dp * (dpi/160) 一个ndp的物体在不同屏幕的实际物理尺寸 size = N (dpi/160)(1/dpi)= N/160
- 如何适配多屏幕
- Andorid系统当前的屏幕配置资源最佳选择流程
- 不同的屏幕尺寸使用不同的布局
- 不同的屏幕密度听相映的图片资源
- 显示声明了应用程序支持的屏幕类型(supports-screen)
- 支持特定的屏幕
- 布局时的注意事项
- 横竖屏切换的处理
- 应用可以设置screenOrientaion来控制
- 可以重写监听configurationchanged方法来处理