我正在使用水平 LinearLayout 将设备屏幕的矩形块分成 3 个相等的部分。这是使用权重来完成的。
这样做的目的是并排放置 3 个按钮,一个设置按钮、一个帮助按钮和一个联系按钮。据我所知,由于 LinearLayout 的层次结构规则,应该遵循 LinearLayout 中的第一个按钮在左侧,下一个在中间,最后一个在右侧。
这也是可视化编辑器显示的内容。但是当我运行应用程序时(我已经在多个设备上尝试过),联系人按钮最终位于左侧,设置按钮位于中间,帮助按钮位于右侧。
我尝试更改代码的层次结构(即,我将联系按钮的代码放在设置按钮的代码之上等),但对结果没有任何影响。
LinearLayout 的代码如下:
<LinearLayout
android:id="@+id/icons"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="100">
<ImageButton
android:id="@+id/settings"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="33"
android:src="@drawable/settings" />
<ImageButton
android:id="@+id/help"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="33"
android:src="@drawable/help" />
<ImageButton
android:id="@+id/contact"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="33"
android:src="@drawable/contact" />
</LinearLayout>