我在TableLayout
中有一个包含6个布局的布局。我想在横向模式下执行此操作,因为ScrollView
在我的场景中会很尴尬。
我有一个48dp高的水平布局,其中包含一个正方形ImageView
,一个SeekBar
的全重,以及一个正方形ImageButton
。我在Java中为ImageView
设置了drawable。
在主要布局中,我为每一个使用include
,我正在尝试均衡列,因为它们只占用了一半的屏幕,就像这是{{1}的活动一样}作为主题。
然而,当我运行该应用时,我得到了40-60%的不平衡视图。为什么?我做错了什么?
layout-land / main.xml
的一部分Theme.Holo.Dialog
布局脊/ toast_item.xml
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
... >
...
<TableLayout
android:layout_width="match_parent"
android:layout_weight="1"
android:stretchColumns="1"
android:layout_height="wrap_content">
<TableRow android:layout_width="match_parent" android:layout_height="wrap_content">
<include android:layout_weight="1" layout="@layout/toast_item" android:id="@+id/systemToast"/>
<include android:layout_weight="1" layout="@layout/toast_item" android:id="@+id/ringerToast"/>
</TableRow>
<TableRow android:layout_width="match_parent" android:layout_height="wrap_content">
<include android:layout_weight="1" layout="@layout/toast_item" android:id="@+id/notifyToast"/>
<include android:layout_weight="1" layout="@layout/toast_item" android:id="@+id/mediaToast"/>
</TableRow>
<TableRow android:layout_width="match_parent" android:layout_height="wrap_content">
<include android:layout_weight="1" layout="@layout/toast_item" android:id="@+id/alarmToast"/>
<include android:layout_weight="1" layout="@layout/toast_item" android:id="@+id/inCallToast"/>
</TableRow>
</TableLayout>
...
</LinearLayout>
答案 0 :(得分:1)
我注意到你有android:layout_weight
,但我似乎没有android:weightSum
。
我建议您android:weightSum="2"
,以便android:layout_weight="1"
的两个对象均匀分配。
如果有三个文本字段,其中两个声明了一个 重量为1,而另一个没有给予重量,第三个文字字段 没有重量不会增长,只会占据所需的面积 它的内容。另外两个将同等扩展以填补空间 测量完三个场后剩下的。
如果第三个字段是 然后给出2的权重(而不是0),那么它现在被宣布更多 比其他人都重要,所以它剩下的一半 空间,而前两个平均分享其余部分。