LinearLayout:与父级的右侧对齐

Pea*_*Gen 6 java xml user-interface android 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>
Run Code Online (Sandbox Code Playgroud)

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

wvd*_*vdz 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>
Run Code Online (Sandbox Code Playgroud)


Man*_*ika 6

使用RelativeLayout这种android: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>
Run Code Online (Sandbox Code Playgroud)