Android开发-03-资源的制作

巧妇难为无米之炊,任何app的开发都离不开资源。


对资源的处理主要包过3部分:

1. 资源的制作

2.资源的打包

3.资源的引用


1 资源的制作

对GUI来说最重要的就是控件大小,颜色,文字,图片,位置,关系。

参考文档:

http://developer.android.com/guide/topics/resources/index.html


目录结构:

animator/   动画资源(property animations)。XML文件格式

anim/      动画资源(tween animations)。XML文件格式

    两者区别:  动画一般采用关键帧机制 key-frame, 熟悉Flash的都不会陌生。

                         采用插值算法,根据start与end计算关键帧信息。支持缩放、移动,旋转,与Alpha变化(比如经典的淡入淡出FadeInFadeOut)

                         f(key)  =   f(start) + (f(key) - f(start))/(f(end)  - f(start)) * f(end)     f:代表一个空间映射

                          tween animations: 属性不发生变化,底层描画时动态改变属性计算值。

                         property animations 通过属性变化来实现动画。

color/      颜色。XML文件格式。

               熟悉8位开发的一定会对调色板记忆犹新。使用颜色主要是为了风格的一致化。

               这样当我们动态置换色板,就实现了风格的切换。

drawable/

       图片资源。

       通过代码的external目录 可以知道Android支持以下格式。

       jpg     解码库Independent JPEG Group, 也就是闻名遐迩的IJG。

       png   解码库libpng,http://sourceforge.net/projects/libpng/

       gif      解码库GIFLIB

       关于图片,说一些题外话。

      图片通常都很费资源,而坦率的说移动设备毕竟还不是很牛,图片的缩放算法不大会使用3次线性差值或者频率空间差值算法。

      这样系统提供的缩放品质肯定是很烂的。

      就工作经验来说做法一般如下:

      第一步:对特定分辨率设计一套图片

      第二步: 在通用PC上开发批处理转换工具,采用高品质的缩放算法进行缩放+反锯齿 (这就是我们开发的工作了)

      第三步: 美工对转换后的图片进行进一步优化。


     通过文档可以看到Android支持以下分辨率:

 

   ldpi   120dpi.
   mdpi   160dpi
   hdpi   240dpi.
   xhdpi  320dpi
  nodpi  不进行缩放
  tvdpi  213dpi
  坦率地说,对Android设备的碎片化感到很无奈。如果类似TV有严格的解像度规范,开发的工作会好很多。

  用户体验也会好很多。


  同样还需要考虑宽屏
  land  水平横放

layout/ 定义画面布局  XML文件格式
menu/    菜单  XML文件格式

raw/    自定义资源,自己负责解析。

values/ 

    arrays.xml  
    colors.xml   颜色,格式    #AARRGGBB  (A:Alpha, R 红色,G 绿色,B 蓝色, 16进制)
    dimens.xml 大小 格式参考百度文库    Android

    strings.xml 字符串

    关于字符串,如果考虑到多国对应,建议使用Excel文档来管理。

    行:  字符串ID      语言1    语言2

    一般来说 中文和英语是要支持的。根据ISO 639-1 ,中国对应zh

    具体处理流程:

     1.开发人员制定Excel表,确定字符串ID,对应中文。

     2.请专业翻译人员进行翻译

     3. 学习VBA制作自动生成Android XML文档代码。(每一种语言一个文档)    


styles.xml 风格,比如字体Font大小,颜色等。

xml/    XML文件格式

Android开发-03-资源的制作,,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。