Android手机分辨率越来越多,对于外发的三方应用,如何对尽量多不同分辨率的手机进行自适应,就显得尤为重要。自适应良好,一方面可以降低apk的大小,为用户下载节省流量;在不同的机型上均拥有良好的效果,更容易吸引用户;也可以减少工程师的开发时间。那么,如何做到自适应呢?
- 代码中获取屏幕分辨率,按照比例自定义布局。该方法会造成代码阅读困难,合理使用;
-
合理配置资源文件(res目录)。
常用的缺省目录和对应资源类型在SDK帮助中有表格列出,简单摘抄如下
res/animator
存放定义了property animations(android 3.0新定义的动画框架)的XML文件
res/anim/
存放定义了补间动画(tweened animation)或逐帧动画(frame by frame animation)的XML文件。(该目录下也可以存放定义property animations的XML文件,但是最好还是分开存放)
res/raw/
存放直接复制到设备中的任意文件。它们无需编译,添加到你的应用程序编译产生的压缩文件中。要使用这些资源,可以调用Resources.openRawResource(),参数是资源的ID,即R.raw.somefilename。
res/drawable/
存放能转换为绘制资源(Drawable Resource)的位图文件(后缀为.png, .9.png, .jpg, .gif的图像文件)或者定义了绘制资源的XML文件
res/color/
存放定义了颜色状态列表资源(Color State List Resource)的XML文件
res/layout/
存放定义了用户界面布局的XML文件
res/menu/
存放定义了应用程序菜单资源的XML文件
res/values/
存放定义了多种类型资源的XML文件
这些资源的类型可以是字符串,数据,颜色、尺寸、样式等等
res/xml/
存放任意的XML文件,在运行时可以通过调用Resources.getXML()读取
资源限定符 - 详细见附件
-命名规则
能够给单一的资源集合指定多个限定符,限定符用短横线分开。例如:drawable-en-rUS-land
限定符必须按照上表列出的顺序来使用,如:
错误用法:drawable-hdpi-port
正确用法:drawable-port-hdpi
可选资源目录不能嵌套,如:不能用以下这样的目录结构:
res/drawable/drawable-en/
值是大小写敏感的。资源编译器为了避免有关大小写敏感的文件系统问题,会把目录名转换成小写。命名中的任何大写字母只是为了方便阅读。
每个限定符类型只能支持一种资源值。
错误的命名eclipse会有提示,不能只能生成R文件。
应用程序资源匹配算法
各分辨率资源查找优先级
1080P:
xxhdpi>xhdpi>nodpi>hdpi>mdpi
hdpi:
hdpi>xhdpi>xxhdpi>mdpi>nodpi
xhdpi:
xhdpi>xxhdpi>hdpi>nodpi>mdpi
相关推荐
2. **资源查找替换**:强大的查找替换功能,可对整个APK中的资源进行全局搜索和替换,对于多语言应用的本地化调整尤为便捷。 3. **图片处理**:支持图片资源的查看和导出,对于PNG、JPEG等常见格式的图片,可以进行...
**AndroidResEdit** 是一个资源编辑工具,允许开发者或者爱好者直接修改Android应用的资源文件,包括XML布局、图片、字符串等。通过它,你可以方便地改变应用的界面设计、文本信息或者图标,以此来满足个性化需求或...
AndroidResEdit是一款强大的Android资源编辑工具,它可以让你直接编辑应用的资源文件,包括图片、字符串、颜色等。通过这款工具,开发者可以: 1. 直观地查看和修改应用的资源。 2. 快速调整界面布局,优化UI设计。...
AndroidResEdit 可能被用来查找并修改这些信息所在的资源,从而达到更改QQ尾巴的效果。 总的来说,arsceditor 和 AndroidResEdit 是两款强大的工具,对于软件汉化和定制化有着重要作用,特别是对于那些希望修改和...
2. **漏洞分析**:安全研究人员可以使用AndroidResEdit来查找应用的安全漏洞,比如未加密的敏感数据或者可被篡改的资源。 3. **主题定制**:用户可以利用此工具自定义应用的主题,改变图标、颜色方案等,创建个性化...
在Android开发过程中,资源ID(Resource ID)是系统为应用中的资源分配的唯一标识符,通常以`R.`开头,用于在代码中引用这些资源。然而,在某些特殊情况下,我们可能需要修改这些ID的值。这通常是由于资源冲突、调试...
4. **资源解析**:Android应用中的资源管理是通过Res目录下的各种资源文件实现的。源码解析可以帮助我们理解资源ID的生成、资源加载过程,以及如何在代码中动态访问和使用资源。 5. **反射和注解处理**:在Android...
在"Android-水波纹涟漪效果可用于设备查找之类的特效"这个主题中,我们将深入探讨如何在Android应用中实现这种效果,并将其应用到如设备查找等场景中。 首先,我们需要理解的是Android的 RippleDrawable。这是...
文章首先介绍了 Android 系统的资源查找机制,然后阐述了Overlay机制实现资源替换的原理及编写Overlay apk的方法,并探讨了Overlay机制未来可能的发展方向与前景。 一、Android 资源查找机制 Android 应用程序的...
Android资源文件通常被组织在特定的目录结构中,如`res/drawable`(图片资源)、`res/values`(字符串、颜色、维度等)、`res/layout`(布局文件)等。当项目中包含大量资源时,手动将它们移动到正确的位置会变得...
AndroidResEdit是一款强大的Android资源编辑工具,专为Android应用的本地化和汉化设计,尤其对开发者和汉化爱好者极具价值。下面将详细介绍AndroidResEdit的使用及其在Android汉化中的作用。 首先,理解Android的...
Android SVOX资源包是专为Android操作系统设计的文本转语音(TTS,Text-to-Speech)技术组件,尤其在Android O1版本中是原生的一部分。SVOX Pico是一款轻量级的TTS引擎,它允许设备将文本转换为自然、流畅的语音输出...
android:attr/android:textDisabledColor`表示查找系统属性`textDisabledColor`。 4. 动画资源 Android提供了两种主要的动画类型:补间动画(tweened animation)和帧动画(frame by frame animation)。补间动画...
资源文件存储在项目的res目录下,通过Android Studio编译后会被编译为二进制格式,便于运行时访问。本示例着重介绍Android中常用的资源类型及其使用方法。 1. String资源 在res/values/strings.xml文件中,我们可以...
- 确保公共资源apk遵循Android的资源目录结构,例如res/drawable、res/layout等。 2. **集成到Framework**: - 将公共资源apk放置在System分区的适当位置,比如/system/priv-apps或者/system/app,这取决于资源...
在Android Studio项目中,资源文件通常存放在`res`目录下,分为多个子目录,如`layout`、`values`、`drawable`、`mipmap`等,每个目录都有特定的用途: 1. `layout`:存放XML布局文件,定义用户界面的结构。 2. `...
4. **资源文件(Resource Files)**:`res`目录下,包含颜色、字符串、图标等资源。`strings.xml`用于存储文本资源,`colors.xml`定义颜色值,`drawables`目录则存放图片资源。 5. **AndroidManifest.xml**:这是...
7. **资源管理**:Android应用中的图片、字符串、颜色等资源通常会被组织在res目录下。源码中可能会有专门的资源文件夹,用于存储城市名、图标等资源。 8. **项目结构和依赖管理**:源码可能遵循MVC(Model-View-...
在实际开发中,View是构成用户界面的基本元素,`findViewById()`方法用于查找布局中的组件,而`Context`对象提供了访问资源的方法,如获取字符串、图片等。 最后,优化布局文件是提高应用性能的关键。`layoutopt`...