关于Android应用的资源,国际化和资源自适应

这篇文章其实早就想整理了,主要原因就是我对于应用资源很不注意,很不注意这个东西,但是这个东西虽然不难,却很重要(尤其是在需要更改的时候)。

如果从源代码来区分可以分为三大类:

1.界面布局文件,xml文件,文件中每个标签都对应于相对的View标签。

2.Java源文件。

3.资源文件:主要以各种Xml为主,还可以包括一些图片,音视频等资源。

如果要按照资源类型来分的话可分为如下两大类:

1.可以通过R清单类访问的原声资源,保存在assets目录下。需要通过getAssets()来拿。

2.可以通过R来访问的资源,保存在res目录下。

这里面res下可以有很多存储方式,AS和Eclipse目录还是有些不同,但我感觉整体也就呢么回事,因为我的电脑eclipse跑起来不卡,所以我就用eclipse介绍了。

通过getResource就可以获取到这些资源

使用字符串,颜色,尺寸资源资源:

colors:

<resources>
    <color name="title_bg">#ff0cbaa0</color>
</resources>

dimens:

<resources>
    <dimen name="activity_horizontal_margin">16dp</dimen>
    <dimen name="activity_vertical_margin">16dp</dimen>
</resources>

strings:

<resources>
    <string name="app_name">Lottery</string>
</resources>

用法的话xml里@就能用了。。

还可以用来定义bool类型。。。<bool name="gg">true</bool>

数组资源:

<array name=""><item></item></array>

<string-array../>

<integer-array../>

StateListDrawable资源:

用于组织多个Drawable对象,其实就是我们平时说的selector..

ShapeDrawable:用于定义一个基本的几何图形

<shape android:shape="[rectangle,oval,line,ring]">

<corners/>弧度

<gradient/>定义渐变色填充

<padding/>定义几何形状的内边距

<size/>大小

<solid/>使用单种颜色填充

<stroke/>定义为几何形状绘制边框

</shape>

还可以定义一些原始xml文件,通过pull去解析。

国际化:

baseName_language_country.properties

比如语言value-zh-rCN中就添加中文,values-en-rUS就添加英文。他会根据手机的文字设置自己去找相应的文字。

自适应不同屏幕:

要考虑屏幕尺寸(小,中,大,超大),屏幕分辨率(低,中等,高,超高),屏幕方向

有的会用values-多少乘多少去取一些不同的大小。但有时候也直接按照屏幕的权重来分(这样的话会轻松些)。

时间: 2024-10-14 09:21:54

关于Android应用的资源,国际化和资源自适应的相关文章

android学习笔记40——国际化和资源自适应

国际化——Internationalization,简称I18N. 本地化——Localization,检查L10N. java国际化资源的思路: java提供国际化资源的思路,是将程序中的标签.提示信息放在资源文件中,程序需要支持那些语音,就需要提供对应的资源文件. 资源文件是key-value类型,每个资源文件的key一致,value随不同语音而改变. java国际化主要通过如下三个类完成: 1.java.util.ResourceBundle——用于加载一个国家.语言资源包: 2.java

Android 如何引用com.android.internal.R目录下的资源

Android 如何引用com.android.internal.R目录下的资源 项目需求 有一个资源跟系统上的一个资源相同,想要引用它:frameworks/base/core/res/res/drawable/ic_text_dot.xml 文件名称:ic_text_dot.xml 文件的具体内容: <?xml version="1.0" encoding="utf-8"?> <!-- Copyright (C) 2014 The Androi

Android资源之图像资源(状态图像资源)

在上一篇博文中.我主要解说了XML图像资源中的图层资源,在此图像资源博文中我会给大家陆续解说XMl图像资源的图像状态资源.图像级别资源.淡入淡出资源.嵌入图像资源.剪切图像资源和外形资源. 1.图像状态资源: Android SDK提供的Button控件默认样式显得有些单调.并且这样的样式与炫丽的界面搭配在一起极不协调.当然.我们能够使用ImageView或ImgaeButton控件配合不同状态的图像做出非常酷的button,这里我给出用java代码实现button按下与正常状态的特效: btn

Android应用程序如何使用Internet资源?

思路:连接Internet资源-->分析XML资源-->使用Download Manager下载文件 Android的Internet连接模型和用于分析Internet数据源的Java技术. Android的Internet连接模型和用于分析Internet数据源的Java技术. 胖客户端和瘦客户端(完全依靠基于Web的解决方案)的本地应用程序的区别和优点: 1. 上述胖客户端指非原生的Android应用程序(或基于Web的应用程序):瘦客户端指原生Android应用程序(或本地应用程序,或者

资源国际化

在一个普通的project项目中资源国际化 public class I18n { public static void main(String[] args) { //默认读取src下以app开头的配置文件 //ResourceBundle rb = ResourceBundle.getBundle("app",Locale.US); ResourceBundle rb = ResourceBundle.getBundle("app",Locale.CHINA);

Android开发之assets目录下资源使用总结

预前知识: Android资源文件分类: Android资源文件大致可以分为两种: 第一种是res目录下存放的可编译的资源文件: 这种资源文件系统会在R.java里面自动生成该资源文件的ID,所以访问这种资源文件比较简单,通过R.XXX.ID即可: 第二种是assets目录下存放的原生资源文件: 因为系统在编译的时候不会编译assets下的资源文件,所以我们不能通过R.XXX.ID的方式访问它们.那我么能不能通过该资源的绝对路径去访问它们呢?因为apk安装之后会放在/data/app/**.ap

Android资源之图像资源(淡入淡出、嵌入)

今天把图像资源剩余的几个知识梳理一下.淡入淡出资源同图像状态和图像级别资源一样可以切换两个图像(目前只支持两个图像的切换),并且使这两个图像以淡入淡出效果进行切换.如上一篇博文介绍的开关电灯一样,如果加上淡入淡出效果会更好. 下面在res/drawable目录中建立一个cross_fade.xml文件,该文件内容如下: <?xml version="1.0" encoding="UTF-8"?> <!-- transition标签中只能有两个ite

清除Android工程中没用到的资源

项目需求一改再改,UI一调再调,结果就是项目中一堆已经用不到但却没有清理的垃圾资源,不说工程大小问题,对新进入项目的人或看其他模块的代码的人来说,这些没清理的资源可能也可能会带来困扰,所以最好还是清理掉这些垃圾,对于一个稍微大一点的工程来说,手工清理明显是不现实的,这就需要一个方法做这些事情. 清理资源文件 要清理没用的资源,首要的工作当然是找到他们,我们知道Anroid SDK中有一个工具叫lint,可以帮助我们查看工程中存在的问题,其中有一项功能就是查找没用到的资源,这样这一步就简单了,直接

Android资源之图像资源(1)

以前看别人的程序的drawable文件夹里有xml资源,说实话第一次见到这样的xml图像资源时,我真心不知道是干什么的.抽空学习了一下图像资源,才了解了这类图像资源的妙用.下面我来分享一下这部分知识: Android 中的图像资源文件保存在res/drawable目录中.在图像资源目录中不仅可以存储各种格式(jpg,png,gif等)的图像文件,还可以使用各种XML格式的图像资源来控制图像的状态 和行为. 1.普通图像资源 Android支持3种图像格式:png.jpg和gif.官方推荐使用pn

struts2 资源国际化

web.xml: <?xml version="1.0" encoding="UTF-8"?><web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schem