別看這個標題挺大,其實這次要說的只是3個小技巧。
1、字符串資源裡變量替換
工作中是拒絕硬編碼的,Android裡會把一些字符串等放在xml中當做資源使用,如項目中values下的strings.xml列出了app_name.
有些情況是這樣的,程序中要使用的字符串如第345頁,345是變量,那麼我們不可能用兩個字符串資源如
[html]
在程序中拼接字符串。那麼我們可能會想,在我們學習C的時候,有%s這樣的神奇的符號,可以替換變量的格式化操作符。
其實,在android中也有這樣的東西,那就是XLIFF,全稱叫XML本地化數據交換格式,英文全稱XML Localization Interchange File Format。
用法也是很簡單的,如
[html]
程序中只要給變量賦值就可以了,如
[java]
[html]
這是項目中經常遇到的,比如UI是這樣的:
Android實戰技巧之文本與布局
像這樣的兩種字體,要如何處理呢?需要用到android.text命名空間下的一些與spannable相關的類和接口。例子如:
[java]
3、TextView的超鏈接
這個很簡單,在xml中屬性autoLink=“all”。
程序中TextView.setAutoLink(Linkify.ALL);
說下參數:
Linkify.EMAIL_ADDRESS -- 僅識別出TextView中的Email在址,標識為超鏈接,點擊後會跳到Email,發送郵件給此地址
Linkify.PHONE_NUMBERS -- 僅識別出TextView中的電話號碼,標識為超鏈接,點擊後會跳到Dialer,Call這個號碼
Linkify.WEB_URLS-- 僅識別出TextView中的網址,標識為超鏈接,點擊後會跳到Browser打開此URL
Linkify.ALL -- 這個選項是識別出所有系統所支持的特殊Uri,然後做相應的操作
4、布局中只在界面底部
在大部分的android程序中,都會發現一個底部的菜單欄。這通常是一個線性布局加一些按鈕。如何讓其始終在底部,無論是哪個分辨率呢?
這要用到關系布局的屬性
[html]
這個用途還是很廣泛的。