Android布局对齐问题

时间:2010-07-14 01:41:03

标签: android layout

我正在尝试找到正确的xml,以便在单个“行”上定义三个项目的布局,如下所示:

  • 按钮(在屏幕上左对齐),文本为“Prev” - wrap-context
  • TextView(居中对齐)与屏幕标题 - 固定为200px尺寸
  • 按钮(在屏幕上右对齐),文本为“下一步” - wrap_content

除非我使用绝对布局,否则它似乎无法使其工作。 我用gravity / layout_gravity和嵌入式LinearLayouts进行了实验(似乎是每个选项)......

我想问题是 - 我可以右对齐一个项目,左对齐另一个项目并将另一个项目居中对齐同一个LinearLayout'行'

谢谢.. KJ

2 个答案:

答案 0 :(得分:1)

在这种情况下,您最好使用RelativeLayout,如下所示:

<?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="wrap_content">
    <Button
        android:id="@+id/btn_left"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:text="Left" />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toLeftOf="@id/btn_left"
        android:layout_alignTop="@id/btn_left"
        android:text="In the center" />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:text="Right" />
</RelativeLayout>

顺便说一句......不建议您为视图提供准确的尺寸。但是,请使用相对的内容,例如fill_parentwrap_layout等。

答案 1 :(得分:0)

好吧,我可以评论一下Cristian的答案,但我没有足够的意见,所以,这是我的布局提案版本:

<?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="wrap_content" >

    <Button
        android:id="@+id/btn_left"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:text="Left" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:text="Right" />

    <TextView
        android:layout_width="200dp"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:text="In the center" />

</RelativeLayout>

刚刚删除了对齐按钮的东西并放了一个android:layout_centerHorizo​​ntal =“true”。