LinearLayout:与父级的右侧对齐

时间:2013-11-17 14:28:16

标签: java android xml user-interface android-linearlayout

请考虑以下XML

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <TextView
        android:id="@+id/open_file_name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="left"
        android:gravity="left"
        android:padding="5dp"
        android:text="TextView" />


    <Button
        android:id="@+id/button1"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="right"
        android:text="@string/open" />

</LinearLayout>

我想将Button与布局的右角对齐。我怎样才能做到这一点?

5 个答案:

答案 0 :(得分:9)

另一种可行的方法是使用layout_weight属性。这是我的偏好,因为它填补了所有可用空间。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <TextView
        android:id="@+id/open_file_name"
        android:layout_width="0dp"
        android:layout_weight="3"
        android:layout_height="match_parent"
        android:layout_gravity="start|left"
        android:gravity="start|left"
        android:padding="5dp"
        android:text="TextView" />


    <Button
        android:id="@+id/button1"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:gravity="end|right"
        android:text="open" />

</LinearLayout>

答案 1 :(得分:6)

对此RelativeLayoutandroid:layout_alignParentLeft="true"

使用android:layout_alignParentRight="true"

尝试以下数据

<?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"
    android:orientation="horizontal" >

    <TextView
        android:id="@+id/open_file_name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:padding="5dp"
        android:text="TextView" />

    <Button
        android:id="@+id/button1"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:text="@string/open" />

    </RelativeLayout>

答案 2 :(得分:2)

试试这个。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

<TextView
    android:id="@+id/open_file_name"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="3"        
    android:layout_gravity="left"
    android:padding="5dp"
    android:text="TextView" />

<Button
    android:id="@+id/button1"
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="right"
    android:text="@string/open" />

</LinearLayout>

答案 3 :(得分:0)

您可以使用TextView属性在Buttonlayout_weight之间添加填充视图:

<View android:layout_width="0dp"
      android:layout_heigth="wrap_content"
      android:layout_weight="1"/>

或者更好地使用RelativeLayoutandroid:layout_alignParentRight="true"

答案 4 :(得分:0)

试试这个,它对我有用。          

    <TextView
        android:id="@+id/open_file_name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="left"
        android:gravity="left"
        android:padding="5dp"
        android:text="TextView" />

<RelativeLayout android:layout_width="wrap_content"
        android:layout_height="wrap_content">
    <Button
        android:id="@+id/button1"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:text="@string/open" />
</RelativeLayout>
</LinearLayout>