作为背景的长方形形状导致黑背景

时间:2014-04-06 22:38:58

标签: android layout background border

我想在我的RableRow周围创建一个边框。 我使用以下形状作为背景。

bg_stroke_dotted_right

    <?xml version="1.0" encoding="utf-8"?>
    <layer-list  xmlns:android="http://schemas.android.com/apk/res/android">
        <item
            android:top="-4dp"
            android:left="-2dp"
            android:bottom="-4dp" 

            android:drawable="@drawable/stroke_dotted">
        </item>
    </layer-list>

stroked_dotted drawable

    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android" >
        <solid android:color="#000000" />
        <stroke
            android:dashGap="4dp"
            android:dashWidth="2dp"
            android:width="2dp"
            android:color="@color/greyDark" />

    </shape>

我不明白为什么要使用&#34; bg_stroke_dotted_right&#34;作为bg - 用黑色文件背景。 只要我添加&#34; bg_stroke_dotted_right&#34;作为bg - bg变为黑色。

        <TableRow
            android:id="@+id/tableRow2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/bg_stroke_dotted_right"
            >

enter image description here

2 个答案:

答案 0 :(得分:12)

在形状中试试这个:

<solid android:color="#00000000" />

在这种情况下,第一个2&#34; 00&#34;是颜色的阿尔法,&#34; 00&#34; meand transparent。

享受!

答案 1 :(得分:8)

接受的答案建议在solid元素中使用透明。因为这是bug的原因(缺少实体元素在android&lt; 4.2上回落为黑色),解决方案不是最优的。

对于初学者而不是硬代码,您可以使用@android:color/transparent颜色,但最好使用@null,以便它不会透支。像这样:

<solid android:color="@null" />