編輯:關於Android編程
巧婦難為無米之炊,任何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.
用戶體驗也會好很多。
layout/ 定義畫面布局 XML文件格式
menu/ 菜單 XML文件格式
raw/ 自定義資源,自己負責解析。
values/
arrays.xml
colors.xml 顏色,格式 #AARRGGBB
(A:Alpha, R 紅色,G 綠色,B 藍色, 16進制)
dimens.xml 大小 格式參考百度文庫 A
strings.xml 字符串
關於字符串,如果考慮到多國對應,建議使用Excel文檔來管理。
行: 字符串ID 語言1 語言2
一般來說 中文和英語是要支持的。根據ISO 639-1 ,中國對應zh
具體處理流程:
1.開發人員制定Excel表,確定字符串ID,對應中文。
2.請專業翻譯人員進行翻譯
3. 學習VBA制作自動生成Android XML文檔代碼。(每一種語言一個文檔)
styles.xml 風格,比如字體Font大小,顏色等。
xml/ XML文件格式
對於SlidingDrawer,官網上是這樣解釋的:SlidingDrawer將內容隱藏在屏幕之外,並且允許用戶通過拖動handle將內容顯示到屏幕上。一個Sliding
ViewPager作為Android最常用的的組件之一,相信大家在項目中會頻繁的使用到的,例如利用ViewPager制作引導頁、輪播圖,甚至做整個app的表
AndroidAnnotations是一個開源框架,旨在加快Android開發的效率。通過使用它開放出來的注解api,你幾乎可以使用在任何地方, 大大的減少了無關痛癢的代
話不多說,我們先來看看效果:Hi前輩搜索預覽這一張是《Hi前輩》的搜索預覽圖,你可以在這裡下載這個APP查看更多效果:http://www.wandoujia.com/a