1. 程式人生 > >合理利用style檔案,使佈局中的程式碼簡潔

合理利用style檔案,使佈局中的程式碼簡潔

在我們搭建介面的時候,我們常常可以碰到一種情況,就是,這個介面,所有的佈局差不多都一樣類似於下面這種:

這個介面,一看,基本上都是一樣的格式,一張圖片,文字,再加上一張圖片,這個時候,很多新手同學可能就開始寫了,一個imageView+textView+image,OK 完成,然後在複製貼上,好,完成了這個介面的搭建,但是,這樣一來,你的程式碼量增加了很多,這樣寫估計要寫200多行程式碼吧,阿杰這裡教大家一個方法,來減少程式碼量,讓程式碼更加簡潔。

首先,我們來分析一下,每一個item都是圖片+文字+圖片的形式,還記得上一篇阿杰提到過的textview的屬性嗎?有一個drawableLeft,drawableRight,正好可以在文字的左右兩邊新增圖片,這就好了,正好一個控制元件就可以實現,是不是簡潔了許多?

好這個時候我們在分析,每一個item所寫的程式碼其實都是一樣的,頂多就是左邊的圖片不一樣,那我們是不是可以吧相同的程式碼拿出來大家一起用呢?答案是當然可以,在我們AndroidStudio中,values檔案下有一個Style.Xml檔案,我們可以把相同的程式碼放在style中,然後引用,這樣程式碼就會更加簡潔,而且修改起來方便,不需要挨個去修改,統一修改一次就OK啦,給大家舉個例子,就以這個佈局為例,以下是我的style檔案的程式碼:

<style name="linearLayout_text">
        <item name="android:drawablePadding">16dp</item>
        <item name="android:padding">12dp</item>
        <item name="android:gravity">center_vertical</item>
        <item name="android:textSize">16dp</item>
        <item name="android:textColor">@color/c_33</item>
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:background">@drawable/base_linear_text_selector</item>
        <item name="android:drawableRight">@drawable/icon_to_next</item>
    </style>

好,有了這個style之後,我們就可以用到佈局檔案中進行引用了:

 <TextView
        android:id="@+id/tv_web_cash_order"
        style="@style/linearLayout_text"
        android:drawableLeft="@drawable/icon_my_order"
        android:text="@string/cash_order" />

你看,這樣下來我們的程式碼量減少了很多,變得很簡潔而且靈活。大家是不是學到了呢?謝謝大家!