正确的布局解决方案 - android

Proper layout solution - android

您好,我想要一个看起来像 http://developer.android.com/images/training/layout-listitem.png 的布局,而不是左侧的图像视图,我想要右侧的按钮。但是我的按钮就在文本视图之后不粘在右边。我一直在寻找其他解决方案,但没有任何帮助。这是我得到的。

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

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content">

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textColor="#000000"
            android:textSize="12pt"
            android:id="@+id/view_to" />

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textColor="#000000"
            android:textSize="8pt"
            android:id="@+id/view_what" />

    </LinearLayout>

    <LinearLayout
        android:orientation="vertical"
        android:layout_gravity="right"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">


        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right"
            android:text="@string/b_send"
            android:id="@+id/b_send" />

    </LinearLayout>

</LinearLayout>

提前致谢。

使用RelativeLayout。使用 android:layout_alignParentRight="true"Button 绑定到布局的右侧。包含 TextViews 的布局必须具有 android:layout_width="match_parent"android:layout_toLeftOf="@id/<id-of-the-Button>",其中必须替换为 Button 的 ID。

试试这个:

LinearLayout1 - android:layout_weight="3"(大约需要 75% space),

LinearLayout2 - android:layout_weight="1"(大约需要 25% space),

并将按钮 layout_width 和 layout_height 设置为 "fill_parent" - 这将使按钮占用 LinearLayout2 中的所有 space。

如果您需要按钮在水平方向上或多或少 space,您可以在 LinearLayout1 中更改 layout_weight。

这是我的 xml-file 示例:

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


<LinearLayout
    android:orientation="vertical"
    android:id="@+id/LinearLayout1"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:layout_weight="3">

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="#999999"
        android:layout_margin="5dp"
        android:textSize="20sp"
        android:layout_weight="1"
        android:text="New Text"
        android:id="@+id/textView" />

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="#777777"
        android:layout_margin="5dp"
        android:textSize="20sp"
        android:layout_weight="1"
        android:text="New Text"
        android:id="@+id/textView2" />
</LinearLayout>

<LinearLayout
    android:orientation="vertical"
    android:id="@+id/LinearLayout2"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_weight="1">

<Button
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#ff6633"
    android:layout_margin="5dp"
    android:layout_weight="1"
    android:text="Button"
    android:id="@+id/button" />
</LinearLayout>

这是结果: