2016-01-24 43 views
8

我正在嘗試着色「空間」小部件。我嘗試使用android:foregroundandroid:background屬性,但仍顯示透明視圖。着色「空間」小部件

<android.support.v4.widget.Space 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:layout_weight="1" 
    android:foreground="@android:color/black" 
    android:background="@android:color/black" /> 
+0

空間的目的是**透明**。爲什麼不使用具有彩色背景的裸視圖(或TextView或ImageView或其他)?對於分隔符(這看起來像你願意實現的用法),我使用裸視圖。 –

+1

爲什麼空間屬性不起作用? –

+0

「空間是透明的。」這對調試非常有用,真的...... – AndrewBloom

回答

23

作爲每official docs定義:

空間是可以被用於創建通用佈局部件之間的間隙的輕量級查看子類。

他們可能沒有想到「着色一個空的空間」。
「空」的意思是「沒有顏色」,「不可見」。

這就是我想要做的:

<View 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:layout_weight="1" 
    android:background="@android:color/black" 
/> 

使用裸查看分頻器是我的2/3裸意見慣用的手段之一。
我也使用它們作爲間隔符和RelativeLayouts中的「中心點」。

+0

我知道這件事。我在想如果空間可以着色。 –

+0

看來這是不可能的。該視圖將非常好地訣竅。 –

0

我試過Paul的「查看技巧」,但是GridLayout有水平/垂直約束問題(並且在執行過程中,一旦遇到這個視圖,繪圖就會停止)。 對我來說(Studio 2.3.3,api 21)這個工作:

<TextView 
     android:layout_width="4dp" 
     android:layout_height="match_parent" 
     android:layout_gravity="fill_vertical" 
     android:background="@color/housetoolsBlue" />