關於 Android 的介面設計,在前幾篇有提到相關的製圖環境設定:
如何在illustrator 上設定Android的製圖環境
而這篇主要介紹如何在 Android 系統模擬繁體中文字體環境, 與 ios 亦同,在中文字體部份沒太多選擇,雖然 Google 與 Adobe有一起開發出開源字體 (Noto CJK),但就目前在來看,原生 Android 的預設中文字體似乎還是只有一種, 加上各家廠牌手機都有自行開發基於 Android 系統的介面,例如:Htc 的 sense、小米的米 ui…等等,所以各家廠牌的手機顯示出的中文字體也不太一樣,而使用者也可以透過軟體來更換系統字體,但這篇不針對其他客製化的字體做討論。
在Android的中文繁體原生字體是DroidSansFallback,只有這個字體可以用,所以我就用這個字體當作說明的標準。
DroidSansFallback (for windows,mac可以抓回去自行測試,ttf 檔)
這個字體的結構與對岸的文泉驛微米黑相同,根據我的找到的資料 DroidSansFallback 應該是文泉譯的團隊跟 Google 團隊一起開發的,而繁體字是直接轉自簡體字,所以有些筆劃是對岸習慣的比劃,相關文章的討論可以看這篇:
GB 18030 就在你身邊 – justfont
上圖是兩種字體的比較,相同的字級下看起來差異不大。而在 Android 的開發環境,字體的單位是 sp(Scaleable pixels),有點類似 dp,但就記得字體的單位是 sp 就好了,單位相關的文章最近 Google Material Design 也有釋出相關的設計說明:
Units and measurements – Google Material Design
以下是我在繪製 Android 會注意到的事項:
1.中文字體大小至少12sp
Android 中文字體最小就是 12sp,小於 12sp,根據我找到的資料可能會出現錯誤。stackoverflow
2015/04/20補充說明:
根據網友的補充,字體可以小於12sp,但會出現錯誤提醒,並非無法設定小於12sp的字體。
同時再附上android 按鈕樣式產生器:Android button maker – Angrytools.com
2.依不同的開發環境同比例放大
前面幾篇我有提到我是屬於做大縮小派的,所以我不會以1dp=1px做為開發環境,通常是1dp=3px來做為android的繪製環境。
所以根據我測試的結果,在 3 倍的尺寸下繪製介面(1920px*1080px),字體大小我會x3,例如:12sp 的字要用 36px,14sp 的字要用 42px,以此類推。
上圖是我針對不同的 dpi所整理出來的 sp 與 px 之間的轉換,但根據我的實際操作結果 (htc m7),還是會有誤差,真正 app 的字體會略小於設計時所模擬出的畫面的字體約 1sp,也就是說如果我要完全符合我預想的字體大小,所有的字體在設計標示時,要再加 1sp,例如:在 480ppi 的製圖環境下, 36px 的字體在設計稿上,本來是要標 12sp,為了符合大小,會標 13sp,以此類推。
3.粗細的設定
關於粗細的設計,我不太確定(歡迎指正),根據我的測試,中文字體可以設定 Light 與 Regular,但粗細實際比較下,沒什麼改變,但如果在 Regular 的字體下再設成 bold,會略粗。但我通常不會再針對粗細做設定,Regular 的粗體我認為太粗,不好使用。
4.字體的可用樣式
字體的可用樣式不多,基本上就是:顏色、透明度、陰影、背景色,大概就這樣,互相搭配使用,雖然只有一種字體,也是可以有九九八十一種變化呢!
5.請設定好字體的使用規範
其實就是跟網頁一樣,h1~h6請定義好,內文、連結、標籤…等等,定義好在不同情況上字體的使用方式,這在往後要做標示或是重新設計,都會有所幫助。
以上是我針對Android界面設計繁體中文字體環境模擬的建議,當然這些規則都會因為新的技術有所調整,例如新的 Noto 字體的開放使用等等,介面設計沒有一定的方法,所以如果有更好的方式,也歡迎討論。
您好:
想知道就是,APP設計介面當中,文字的字距是可以自由設定的嗎?這對畫面上的編排有很大的影響~
讚讚
http://developer.android.com/reference/android/widget/TextView.html
TextView的物件可以,其他的話可以能要問工程師~
讚讚
您好:
中文字體大小至少12sp,這點有錯喔~基本上你也是可以設為1sp,只是肉眼看只會看到幾個點而已,因為字太小了。那篇連結只是有人問為何設低於12sp會有warning message。warning message 不是錯誤,只是提醒或建議開發者的一些資訊而已。
讚Liked by 1 person
謝謝提醒,我會再補上說明。
讚讚