为什么给小部件一个背景颜色会导致它消失?

时间:2014-05-19 19:09:17

标签: android android-layout android-edittext android-gridlayout android-background

此XML:

<TextView
    android:text="@string/verify_code_upc"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_row="1"
    android:layout_column="0"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:textColor="#000080" />

<EditText
    android:id="@+id/editTextUPC"
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:background="#ffcb05"
    android:layout_row="1"
    android:layout_column="1"
    android:layout_columnSpan="5" />

...显示了这个:

enter image description here

但是补充一点:

android:background="#ffcb05"

...到EditText会导致整个EditText“消失”:

enter image description here

为什么?

更新

如果我给它一个明确的宽度:

android:width="240dp"

... 显示:

enter image description here

2 个答案:

答案 0 :(得分:1)

因为颜色没有大小。彩色绘图没有特定的尺寸,所以你必须给它一个。另一种选择是使用drawable而不是color。

答案 1 :(得分:1)

将您的EditText更改为

<EditText android:id="@+id/editTextUPC" android:layout_height="wrap_content" android:layout_width="wrap_content" android:background="#ffcb05" android:layout_row="1" android:layout_column="1" android:hint="Hint occupying space" android:layout_columnSpan="5" />

或更改

 android:layout_width="match_parent"