合理利用style檔案,使佈局中的程式碼簡潔
阿新 • • 發佈:2018-11-05
在我們搭建介面的時候,我們常常可以碰到一種情況,就是,這個介面,所有的佈局差不多都一樣類似於下面這種:
這個介面,一看,基本上都是一樣的格式,一張圖片,文字,再加上一張圖片,這個時候,很多新手同學可能就開始寫了,一個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" />
你看,這樣下來我們的程式碼量減少了很多,變得很簡潔而且靈活。大家是不是學到了呢?謝謝大家!