巧用android:divider屬性設置LinearLayout中元素之間的間隔


 

如上圖,要想實現3個button線性排列並且使它們的大小相同、間隔相等、而且整體填充滿整個linearlayout,我們一般的做法是在每兩個button之間放一個固定寬度的view,然后設置button的寬度為0、layout_weight為1。這樣雖能實現功能,可是總感覺不方便,特別是button多的時候。

 

今天介紹另一種簡單、優雅的方法,就是利用android:divider屬性。

1、首先新建一個固有的width/height的Drawable:

spacer_medium.xml

<?xml version="1.0" encoding="utf-8"?>  
<shape xmlns:android="http://schemas.android.com/apk/res/android"  
    android:shape="rectangle">  

    <size android:width="@dimen/spacing_medium"  
        android:height="@dimen/spacing_medium" />  

    <solid android:color="@android:color/transparent" />  
</shape>  

2.然后設置LinearLayout的android:divider="@drawable/spacer_medium",並設置android:showDividers="middle",這樣就完美解決了linearLayout的元素之間的間隔問題。

 
<LinearLayout   
       android:layout_marginLeft="12dp"  
       android:layout_marginRight="12dp"  
       android:layout_width="match_parent"  
       android:layout_height="wrap_content"  
       android:orientation="horizontal"  
       android:divider="@drawable/spacer_medium"  
       android:background="#77000000"  
       android:showDividers="middle">  
       <Button   
           android:layout_width="0dp"  
           android:layout_height="wrap_content"  
           android:layout_weight="1"  
           android:text="button"/>  

       <Button   
           android:layout_width="0dp"  
           android:layout_height="wrap_content"  
           android:layout_weight="1"  
           android:text="button"/>  

       <Button   
           android:layout_width="0dp"  
           android:layout_height="wrap_content"  
           android:layout_weight="1"  
           android:text="button"/>  

   </LinearLayout>  

 

參考:http://blog.csdn.net/startupmount/article/details/41745715


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM