我正在使用水平LinearLayout将设备屏幕的矩形块分成3个相等的部分。这是使用权重完成的。
这样做的目的是并排放置3个按钮,设置按钮,帮助按钮和联系人按钮。据我所知,应该遵循LinearLayout中的第一个按钮位于左侧,下一个位于中间,最后一个位于右侧,这是由于LinearLayout的层次结构规则。
这也是Visual Editor也显示的内容。但是当我运行应用程序时(我已尝试使用多个设备),联系人按钮最左端,设置按钮最终位于中间,帮助按钮最终位于右侧。
我尝试更改代码的层次结构(即我将联系按钮的代码放在设置代码按钮上方等)但是它对结果没有任何影响。
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>
答案 0 :(得分:1)
XML没有任何问题。如果应用程序确实使用了上述XML,那么更改布局中ImageButtons的顺序确实应该改变屏幕上的顺序。
这是我想到的两件事: