在LinearLayout中更改分隔符的颜色

时间:2013-03-02 04:42:04

标签: android android-linearlayout nine-patch

我可以知道如何在LinearLayout中更改分隔符的颜色吗?

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="48dp"
    android:orientation="horizontal"
    android:divider="?android:attr/dividerVertical"
    android:dividerPadding="12dip"
    android:showDividers="middle"
    android:background="#ff2d2d2d" >
...
</LinearLayout>

我是否需要手动将Android SDK中的9个补丁图像复制到我的项目中,并定义自己的属性来引用它?

3 个答案:

答案 0 :(得分:23)

看起来android:divider属性不接受颜色值。所以你必须创建一个单独的分隔符drawable,以使其工作:

divider.xml

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

    <size android:width="1dip" />
    <solid android:color="#f00" />

</shape>

layout.xml

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="48dp"
    android:orientation="horizontal"
    android:divider="@drawable/divider"
    android:dividerPadding="12dip"
    android:showDividers="middle"
    android:background="#ff2d2d2d" >

此外,请注意android:divider仅适用于Android 3.0或更高版本,并且在以前的Android版本中不起作用。

答案 1 :(得分:-2)

我就这样做了

      <ImageView
            android:id="@+id/imgVwmarkupborder"
            android:layout_width="280dp"
            android:layout_height="2dp"
            android:src="@android:color/white" />

答案 2 :(得分:-2)

<View
    android:layout_width="fill_parent"
    android:layout_height="1dp"
    android:background="@android:color/white"/>

在我的方法中,我使用这个..