我正在尝试复制一些布局xml(我无法开始工作),但我不明白这是如何工作的。它绘制了一个带有包装内容的分隔符,但它没有内容,所以它是如何绘制的?
<TextView
android:id="@+id/divider"
android:layout_width="wrap_content"
android:layout_height="1px"
android:background="@color/medium_gray"
android:layout_below="@id/spacer"
android:layout_alignParentRight="true"
android:layout_marginRight="@dimen/gutter_right"
android:layout_toRightOf="@id/image" />
答案 0 :(得分:1)
如果我不得不猜测,他们会在代码中的某处放置内容。它们使背景变为灰色,但高度仅为1像素高,因此如果用空格填充TextView,它将形成一条高度为1像素的灰线。
无论如何,常量wrap_content
意味着视图的大小取决于包含的内容。在TextView
的情况下,它将与它必须绘制的字符一样大。如果您将其更改为fill_parent
或match_parent
,则会根据其父级确定的维度绑定大小。
如果你做了这样的事情:
<TextView
android:id="@+id/divider"
android:layout_width="match_parent"
android:layout_height="1px"
android:background="@color/medium_gray"
android:layout_below="@id/spacer"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_marginRight="@dimen/gutter_right" />
然后它将从父项左侧到父项右侧绘制一条1像素高灰线,从大小@dimen/gutter_right
右侧减去一个边距。
除了没有禁用绘图的小部件之外,没有特别的理由使用TextView
,因此会绘制背景。