首先,一张图片(来自hierarchyviewer):
我有两个文本长度不同的按钮,我希望它们的大小相同。在图像中,您可以看到它在顶部工作。但是,我希望我的按钮之间有一些空间,所以对于第三个和第四个按钮,我添加了 layout_margin 属性以给它们一点空间。混乱随之而来。第四个按钮保持相同大小并添加适当的边距。但是第三个按钮似乎没有在右侧添加边距,因此失去了宽度。
我认为正在发生的事情是在对齐之后应用边距,所以......实际上,我无法想出一个完全解释它的过程。
我想要的是:
要了解这些东西是如何工作的 - 视图的布局对我来说似乎不直观,我无法想象达到我不会随机更改属性来修复这类事情的地步。是否有一个全面的教程可以解决细节问题?
两个等长按钮,在相对布局中具有不同长度的文本,并带有边距。我需要相对布局来安排活动上的所有其他视图。
代码如下。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<Button
android:id="@+id/goodThis"
android:text="Short text"
android:background="@drawable/button_red"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignRight="@+id/goodThat"
/>
<Button
android:id="@+id/goodThat"
android:text="Longer text"
android:background="@drawable/button_green"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/goodThis"
/>
<Button
android:id="@+id/badThis"
android:text="Short text"
android:background="@drawable/button_red"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/goodThat"
android:layout_alignParentLeft="true"
android:layout_alignRight="@+id/badThat"
android:layout_margin="3dp"
/>
<Button
android:id="@+id/badThat"
android:text="Longer text"
android:background="@drawable/button_green"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/badThis"
android:layout_margin="3dp"
/>
</RelativeLayout>