日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Android Styles & Themes(上)——Style

系統(tǒng) 2148 0

很早前就看到Android SDK中關(guān)于Applying Styles and Themes的介紹與說明,今天總算有時(shí)間來體驗(yàn)下了。和web中的CSS一樣,Android也可以為界面定義全局、公用的Style。Styles和 Themes都是資源,存放在res/values文件夾下。

首先,什么是Style,什么是Theme?

  • Style:是一個(gè)包含一種或者多種格式化屬性的集合,我們可以將其用為一個(gè)單位用在布局XML單個(gè)元素當(dāng)中。比如,我們可以定義一種風(fēng)格來定義文本的字號大小和顏色,然后將其用在View元素的一個(gè)特定的實(shí)例。
  • Theme:是一個(gè)包含一種或者多種格式化屬性的集合,我們可以將其為一個(gè)單位用在應(yīng)用中所有的Activity當(dāng)中或者應(yīng)用中的某個(gè) Activity當(dāng) 中。比如,我們可以定義一個(gè)Theme,它為window frame和panel 的前景和背景定義了一組顏色,并為菜單定義可文字的大小和顏色屬性,可以將這個(gè)Theme應(yīng)用在你程序當(dāng)中所有的Activity里。

其次,定義Styles和Themes資源的XML文檔的結(jié)構(gòu)

對每一個(gè)Styles和Themes,給<style>元素增加一個(gè)全局唯一的名字,也可以選擇增加一個(gè)父類屬性。在后邊我們可以用這 個(gè)名字來應(yīng)用風(fēng)格,而父類屬性標(biāo)識了當(dāng)前風(fēng)格是繼承于哪個(gè)風(fēng)格。在<style>元素內(nèi)部,申明一個(gè)或者多個(gè)<item>,每一 個(gè)<item>定義了一個(gè)名字屬性,并且在元素內(nèi)部定義了這個(gè)風(fēng)格的值。

然后,看個(gè)自定義的Styles的實(shí)例

  1. 在res/values 目錄下新建一個(gè)名叫style.xml的文件。
  2. 在style.xml定義內(nèi)容如下:
    <?xml version=”1.0″ encoding=”utf-8″?>
    <resources>
    <style name=”DavidStyleText1″>
    <item name=”android:textSize”>18sp</item>
    <item name=”android:textColor”>#EC9237</item>
    </style>
    <style name=”DavidStyleText2″>
    <item name=”android:textSize”>14sp</item>
    <item name=”android:textColor”>#FF7F7C</item>
    <item name=”android:fromAlpha”>0.0</item>
    <item name=”android:toAlpha”>0.0</item>
    </style>
    </resources>

上面樣式的定義,從字面意思就可以了解其功能了,下面看看如何應(yīng)用它吧:

<!– 應(yīng)用樣式1的TextView –>
<TextView
style=”@style/DavidStyleText1″
android:layout_width=”fill_parent”
android:layout_height=”wrap_content”
android:gravity=”center_vertical|center_horizontal”
android:text=”moandroid”/>

<!– 應(yīng)用樣式2的TextView –>
<TextView
style=”@style/DavidStyleText2″
android:layout_width=”fill_parent”
android:layout_height=”wrap_content”
android:gravity=”center_vertical|center_horizontal”
android:text=”www.moandroid.com”
android:autoLink=”all”/>

現(xiàn)在這個(gè)EditText組件的所表現(xiàn)出來的風(fēng)格就為我們在上邊的XML文件中所定義的那樣,如下:

看了新的界面是不是感覺漂亮多了,這也就是Styles的魅力吧。需要補(bǔ)充說明的是:單擊超鏈接,還可以打開網(wǎng)頁如下:

這是如何實(shí)現(xiàn)的了?TextView.setTextView不支持HTML TAG的輸出,所以即便寫成這樣:
mTextView01.setText(”<a href=\”http://www.moandroid.com/\”>mo-android|享受Android帶給我們的新體驗(yàn)< /a>”);實(shí)際輸出時(shí),也就是純文本而已,并不會作HTML TAG的轉(zhuǎn)換。但若撇開HTML TAG之外(如“<”開頭的標(biāo)記),在TextView里加上了android:autoLink=”all”,那么正文中若有網(wǎng)址 (http://),是可以被顯示的。

Android Styles & Themes(上)——Style


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 盐边县| 民权县| 白银市| 安仁县| 马山县| 白朗县| 清新县| 彭阳县| 泗阳县| 桑植县| 高雄市| 襄汾县| 邓州市| 呼伦贝尔市| 长海县| 蒙自县| 新乐市| 武川县| 莲花县| 甘德县| 仁化县| 绥阳县| 兴山县| 璧山县| 高邑县| 监利县| 维西| 阜新| 桦南县| 垫江县| 文水县| 阜城县| 兴文县| 大安市| 仲巴县| 翁牛特旗| 莱西市| 九龙县| 东丽区| 呼图壁县| 迁西县|