2016-01-24 11 views
8

Ich versuche, das Space-Widget zu färben. Ich habe versucht, beide android:foreground und android:background Attribute zu verwenden, aber es zeigt immer noch eine transparente Ansicht.Coloring das Space-Widget

<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

A Space ** transparent ** sein soll. Warum verwenden Sie nicht stattdessen eine leere Ansicht (oder eine TextView oder eine ImageView oder was auch immer) mit einem farbigen Hintergrund? Für Teiler (das scheint die Verwendung zu sein, die Sie erreichen wollen) verwende ich nackte Ansichten. –

+1

Warum funktionieren Attribute des Raums nicht? –

+0

"Ein Raum soll transparent sein." Das ist großartig für das Debuggen, wirklich ... – AndrewBloom

Antwort

23

Gemäß der official docs Definition:

Raum ist eine leichte Ansicht Unterklasse, die Lücken zwischen den Komponenten in allgemeinen Layouts erstellen verwendet werden.

Sie haben wahrscheinlich nicht daran gedacht, einen leeren Raum einzufärben.
Wo "leer" bedeutet "ohne Farbe", "unsichtbar".

Das ist, was ich tun würde:

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

eine nackte Ansicht Verwendung als ein Teiler eines meines Lieblingstrickes 2/3 mit bloßen Ansichten ist.
Ich verwende sie auch als Abstandshalter und als "Mittelpunkt" in RelativeLayouts.

+0

Ich weiß darüber. Ich habe überlegt, ob der Raum gefärbt werden könnte. –

+0

Es scheint, dass es nicht möglich ist. The View wird das sehr gut machen. –

0

Ich versuchte Paul "View Trick", hatte aber GridLayout horizontalen/vertikalen Einschränkungen Problem (und während der Ausführung Zeichnung stoppt, sobald diese Ansicht angetroffen wird). Für mich (Studio 2.3.3, api 21) dies gearbeitet:

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