2014-04-06 155 views
3

我想在我的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繪製

<?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> 

爲什麼使用 「bg_stroke_dotted_right」 爲BG我不明白 - 文件與黑色的背景。 只要我將bg_stroke_dotted_right添加爲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

回答

11

在形狀嘗試:

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

在這種情況下前2 「00」 是顏色的α,和 「00」 勁歌透明。

享受!

6

接受的答案建議在實體元素中使用透明。由於這是錯誤的原因(缺少固體元素在android < 4.2上回落到黑色),該解決方案不是最優化的。

對於初學者而不是硬編碼,您可以使用@android:color/transparent的顏色,但最好使用@null以免它透支。類似這樣的:

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