在android3.0及后面的版本在LinearLayout里增加了个分割线

1
2
android:divider="@drawable/shape"<!--分割线图片-->
android:showDividers="middle|beginning|end" <!--分割线位置-->

分割线如果是图片那就直接使用图片就行,如果要使用颜色就必须使用shape来显示,直接使用颜色或Color是没有用的 
使用shape的时候要注意设置size属性不设置宽高分割线就不会显示出来,如果使用line那填充颜色只能使用stroke来显示颜色

使用例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
        <LinearLayout
            android:id="@+id/buttons_container"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:divider="@drawable/spacer_medium"
            android:orientation="horizontal"
            android:showDividers="middle">
              <Button
                    android:id="@+id/btn_first"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                   
                    android:text="button_1" />
          
                <Button
                    android:id="@+id/btn_second"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                      
                    android:text="button_2" />
          
                <Button
                    android:id="@+id/btn_third"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                      
                    android:text="button_3" />
      
        </LinearLayout>

spacer_medium定义如下

1
2
3
4
5
6
7
8
9
10
11
<?xml version="1.0" encoding="utf-8"?>
    android:shape="rectangle">
  
    <size
        android:width="@dimen/spacing_medium"
        android:height="@dimen/spacing_medium" />
  
    <solid android:color="@color/divider_color" />
  
</shape>

LinearLayout增加divider分割线-LMLPHP

如果 android:showDividers="beginning",则是如下效果:

LinearLayout增加divider分割线-LMLPHP

但是不知为何android:showDividers="end"什么效果也没有。。。

05-11 16:00