天天看點

一起Talk Android吧(第三百零七回:控件的風格)建立style 使用style

各位看官們,大家好,上一回中咱們說的是Android中EditText常用事件的例子,這一回咱們說的例子是控件的風格。閑話休提,言歸正轉。讓我們一起Talk Android吧!

看官們,本章回中我們介紹一下控件的風格,或者叫style,它用來把控件的各種控件屬性集合在一起進而形成一定的風格,我們形象地叫其“屬性抱團".可以被集合的屬性包含:字型大小,顔色,背景等等,總之出現在UI控件中的各種屬性都可以被集合到style中,以後如果想統一控件的風格時可以把style應用到控件上,這樣做可以避免在每個控件上重複設定屬性,進而提高效率。

使用場景舉例:程式中要求每個TextView控件都有相同的字型大小和顔色,基本做法是在每個TextView上設定字型大小和顔色屬性,我們推薦的做法是把字型大小和顔色這兩種屬性寫到一個集合中,然後在每個控件上使用此集合. 下面我們舉一個例子說明如何使用style:

建立style

style在工程中的檔案路徑:res\values\styles.xml,檔案内容如下:

<resources>
    <style name="TextStyle" parent="TextAppearance.AppCompat">
        <item name="android:textSize">20sp</item>
        <item name="android:textColor">#99ff11</item>
    </style>
</resources>
           

上面的代碼中我們建立了名叫TextStyle的style,裡面包含了文字大小和文字顔色兩種屬性。代碼中需要掌握的文法有以下幾個方面

  • style的名字:name="sName",sName就是style的名字
  • style中包含的屬性:<item name="iName">value</item>,iName表示控件的屬性,value就是該屬性的值
  • style中包含了n個屬性就有n個item

使用style

建立完style後,我們看看如何在在控件中使用style,下面是一個使用示例:

<TextView
        android:id="@+id/id_tv_title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        style="@style/TextFont"/>
           

上面的代碼中給TextView的style屬性指派,這樣就把我們剛才建立的style應用到了該TextView控件上。

看官們,我們在這裡就不示範程式的運作結果了,建議大家自己動手去操作一下,這樣更加容易掌握此知識。此外,示例程式中的style使用的是TextView控件及其屬性,大家可以将其擴充到EditText,ImageView等控件及其屬性上。總之有一點大家要明白:隻要是控件中的屬性,都可以被包含到style中。

各位看官,關于Android中控件風格的例子咱們就介紹到這裡,欲知後面還有什麼例子,且聽下回分解!