码迷,mamicode.com
首页 > 移动开发 > 详细

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

时间:2016-05-12 23:47:59      阅读:325      评论:0      收藏:0      [点我收藏+]

标签:

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

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

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

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

标签:

原文地址:http://blog.csdn.net/l_vaule/article/details/51347412

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!