在LinearLayout中更改分隔符的颜色

Che*_*eng 9 android nine-patch android-linearlayout

我可以知道如何改变分频器的颜色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>
Run Code Online (Sandbox Code Playgroud)

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

Vla*_*nov 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>
Run Code Online (Sandbox Code Playgroud)

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" >
Run Code Online (Sandbox Code Playgroud)

此外,请注意,android:divider只有在Android 3.0或更高版本中可用,它在以前的Android版本中不起作用.