1.使用LinearLayout自带的分割线
在Android开发中,我们会经常遇到两个TextView或Button之间显示一条分割线(如下图1.1 所示)。
图 1.1
1.1 实现方法
1.1.1 普通做法
一般情况下,我们会使用View控件来显示分割线。在布局文件中这样写:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="70dp"
android:orientation="horizontal" >
<Button
android:id="@+id/btn_dialogleft"
style="?android:attr/buttonBarButtonStyle"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/borderleft"
android:gravity="center"
android:text="取消"
android:textColor="#000000"
android:textSize="36sp" />
<View
android:layout_width="2dp"
android:layout_height="match_parent"
android:background="#dddddd" />
<Button
android:id="@+id/btn_dialogright"
style="?android:attr/buttonBarButtonStyle"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/borderright"
android:gravity="center"
android:text="确定"
android:textColor="@color/yellowdialog"
android:textSize="36sp" />
</LinearLayout>
1.1.2 技巧写法
使用LinearLayout的divider属性:
(1) 创建shape
在Android项目中res下创建drawable文件夹,创建shape.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<size android:width="3dp"/>
<solid android:color="#dddddd"/>
</shape>
(2) 在布局的LinearLayout中添加属性
<LinearLayout
android:layout_width="match_parent"
android:layout_height="80dp"
android:divider="@drawable/divider"
android:dividerPadding="5dp"
android:orientation="horizontal"
android:showDividers="middle" >
<Button
android:id="@+id/btn_dialogleft"
style="?android:attr/buttonBarButtonStyle"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/borderleft"
android:gravity="center"
android:text="取消"
android:textColor="#000000"
android:textSize="36sp" />
<Button
android:id="@+id/btn_dialogright"
style="?android:attr/buttonBarButtonStyle"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/borderright"
android:gravity="center"
android:text="确定"
android:textColor="@color/yellowdialog"
android:textSize="36sp" />
</LinearLayout>
通过以上两个步骤,我们就可以实现同普通做法一样的效果了!
【注解】 在LinearLayout中,我们使用了3个属性来实现分割线效果。
1. android:divider属性:用来定义一个drawable或color作为分割线。
2. android:showDividers属性:指定分割线的位置。可以显示在开始位置、中间、末尾或选择不显示
3.android:dividerPadding属性:设置divider的padding