为 Space 小部件着色

Coloring the Space widget

我正在尝试为 Space 小部件着色。我尝试同时使用 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" />

根据 official docs 定义:

Space is a lightweight View subclass that may be used to create gaps between components in general purpose layouts.

他们可能没有想到"coloring an empty space"。
其中 "empty" 表示 "without color", "invisible".

这就是我要做的:

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

使用裸视图作为分隔线是我 2/3 最喜欢的裸视图技巧之一。
我还在 RelativeLayouts 中将它们用作间隔物和 "center point"。

我尝试了 Paul 的 "view trick",但遇到了 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" />