我可能是个白痴,但似乎Button
在水平LinearLayout
休息时添加了一个layout_gravity="top"
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<TextView
android:id="@+id/text"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_gravity="top"
android:text="TextView"
android:background="#f00" />
<ProgressBar
android:id="@+id/progressBar1"
style="?android:attr/progressBarStyleLarge"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="200dp"
android:layout_weight="0"
android:text="Button" />
</LinearLayout>
这看起来像这样(在布局编辑器中):
请注意,文本视图位于中心,而不是顶部!如果*我所做的只是删除<button>
,那么它看起来像这样:
看,现在它像它应该的那样位于顶部。我将使用的解决方法是拥有layout_gravity="start"
确实会导致正确行为的方法:
但无论如何,这是怎么回事?另请参阅此相关问题。这实际上可能是同一个问题;我不知道。反正那里没有真正的答案。