Android開發-03-資源的制作

巧婦難為無米之炊,任何app的開發都離不開資源。

對資源的處理主要包過3部分:

1. 資源的制作

2.資源的打包

3.資源的引用

1 資源的制作

對GUI來說最重要的就是控件大小,顏色,文字,圖片,位置,關系。

參考文檔:

https://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,https://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文件格式

發佈留言