着色空间小部件

问题描述 投票:10回答:2

我正在尝试给空间小部件上色。我尝试使用 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" />
android android-layout android-widget space
2个回答
32
投票

根据 正式文件 定义。

Space是一个轻量级的View子类,可以用来在通用布局中的组件之间创建空隙。

他们可能没有想到 "给空的空间着色"。其中 "空 "的意思是 "没有颜色","不可见"。

我就会这么做。

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

使用裸视图作为分隔线是我最喜欢的23个裸视图技巧之一。我也用它们作为间隔符和相对布局中的 "中心点"。


1
投票

我试过保罗的 "视图技巧",但有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" />
© www.soinside.com 2019 - 2024. All rights reserved.