2016-01-24 23 views
8

Próbuję pokolorować widżet Spacja. Próbowałem użyć atrybutów android:foreground i android:background, ale nadal wyświetla przezroczysty widok.Kolorowanie widżetu Spacja

<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

Przestrzeń ma być ** przezroczysta **. Dlaczego zamiast tego zamiast tego używasz nieuzbrojonego Widoku (lub TextView lub ImageView lub podobnego) z kolorowym tłem? Dla dzielników (co wydaje się być użytkiem, jaki chcesz osiągnąć) używam odsłoniętych widoków. –

+1

dlaczego atrybuty przestrzeni nie działają? –

+0

"Przestrzeń ma być przezroczysta". To świetnie nadaje się do debugowania, naprawdę ... – AndrewBloom

Odpowiedz

23

Zgodnie z definicją official docs:

Space jest lekka Zobacz podklasy, które mogą być wykorzystane do stworzenia luki między składnikami układów ogólnego przeznaczenia.

Prawdopodobnie nie pomyśleli o "zabarwieniu pustej przestrzeni".
Gdzie "pusty" oznacza "bez koloru", "niewidoczny".

To co zrobię:

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

Korzystanie z gołą Zobacz jako dzielnik jest jednym z moich ulubionych trików 2/3 z gołymi Views.
Używam ich również jako przekładek i jako "punkt środkowy" w RelativeLayouts.

+0

Wiem o tym. Myślałem, czy przestrzeń może być kolorowa. –

+0

Wygląda na to, że nie jest to możliwe. Widok bardzo ładnie poradzi. –

0

Próbowałem "triku widzenia" Paula, ale miałem problem z poziomymi/pionowymi ograniczeniami GridLayout (a podczas wykonywania rysunek zatrzymał się, gdy tylko napotkano ten widok). Dla mnie (Studio 2.3.3, api 21) działało to:

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