我想在我的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"
>
答案 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" />