我同时使用了 RelativeLayout 和 Linearlayout 来实现这一点。(在图像中)!
使用相对布局,我以固定宽度和 marginLeft 和 marginRight 定位按钮。问题是,如果设备有更大的屏幕,左右边距不会扩大太多,按钮宽度也是固定的。
<RelativeLayout> <!-- Row1 --> <Button1 alignParentTop = "true" marginLeft = "5dip" marginRight="5dip" width="80dip"/> <button2 alignParentTop ="true" center="@id/Button1" marginLeft = "5dip" marginRight="5dip" width="80dip" /> <button2 alignParentRight="true" marginLeft = "5dip" marginRight="5dip" width="80dip"/> <!-- Row2 --> <Button3 below="button1" marginLeft = "5dip" marginRight="5dip" width="80dip"/> <Button4 below="button2" marginLeft = "5dip" marginRight="5dip" width="80dip"/> </RelativeLayout>
使用 RelativeLayout 父级,创建了 2 个带有按钮的水平线性布局。现在按钮的宽度为 0dip,重量为 1。但是,我无法创建第二行。
<RelativeLayout>
<linearLayout orientation="horizontal">
<!-- Row1 -->
<Button1
width="0dip"
weight="1"/>
<button2
width="0dip"
weight="1"/>
<button2
width="0dip"
weight="1"/>
</linearLayout>
<!--Row2-->
<linearLayout orientation="horizontal">
Couldn't using this approach
</linearLayout>
</RelativeLayout>