Проблема выравнивания кнопок - PullRequest
0 голосов
/ 05 мая 2011

Я хочу выровнять эти входы так, чтобы два поля автозаполнения находились справа, на меньшей кнопке справа.Однако я получаю большое автозаполнение (второе), охватывающее все.

    <RelativeLayout
        android:layout_alignParentBottom="true" 
        android:id="@+id/transport_search"
        android:background="@color/dark_grey"
        android:layout_height="wrap_content"
        android:layout_width="fill_parent">

        <AutoCompleteTextView
            android:id="@+id/transport_autoCompleteFrom"
            android:layout_width="fill_parent"
            android:layout_weight="5"
            ></AutoCompleteTextView>

        <Button
            android:id="@+id/transport_switchDirection"
            android:layout_toRightOf="@+id/transport_autoCompleteFrom"
            android:layout_width="fill_parent"
            android:layout_weight="1"
            ></Button>

        <AutoCompleteTextView
            android:id="@+id/transport_autoCompleteTo"
            android:layout_width="fill_parent"
            android:layout_weight="5"
            ></AutoCompleteTextView>

        <Button
            android:id="@+id/transport_go"
            android:layout_toRightOf="@+id/transport_autoCompleteTo"
            android:layout_width="fill_parent"
            android:layout_weight="1"
            ></Button>

    </RelativeLayout>

Что я делаю не так?

Ответы [ 2 ]

0 голосов
/ 05 мая 2011

Если вы предпочитаете использовать RelativeLayout, возможно, следующее поможет вам приблизиться к тому, чего вы пытаетесь достичь.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_alignParentBottom="true"
    android:id="@+id/transport_search"
    android:layout_height="wrap_content"
    android:layout_width="fill_parent">
    <AutoCompleteTextView
        android:id="@+id/transport_autoCompleteFrom"
        android:layout_width="100dip"
        android:layout_height="wrap_content"
        android:singleLine="true"
        android:text="auto 1" />
    <Button
        android:id="@+id/transport_switchDirection"
        android:layout_toRightOf="@id/transport_autoCompleteFrom"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="button1" />
    <AutoCompleteTextView
        android:id="@+id/transport_autoCompleteTo"
        android:layout_below="@id/transport_autoCompleteFrom"
        android:layout_width="100dip"
        android:layout_height="wrap_content"
        android:singleLine="true"
        android:text="auto 2" />
    <Button
        android:id="@+id/transport_go"
        android:layout_toRightOf="@id/transport_autoCompleteTo"
        android:layout_below="@id/transport_switchDirection"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="button2" />
</RelativeLayout>

Ниже приведен скриншот этого макета.

image

Also, you may want to take a look at how TableLayout was used for a similar result in Android Создать выровненные поля Макет

0 голосов
/ 05 мая 2011

Вы можете использовать LinearLayout внутри RelativeLayout. Ниже показаны две кнопки в строке:

    <LinearLayout android:id="@+id/buttons" android:layout_below="@id/aboveControl1"
    android:layout_width="fill_parent"  android:layout_height="wrap_content" 
    android:orientation="horizontal" android:weightSum="2" 
    android:layout_alignLeft="@id/otherControl1" android:layout_alignRight="@id/otherControl2" >
    <Button android:id="@+id/button10" android:layout_width="fill_parent" 
        android:layout_height="wrap_content" android:text="Ok" android:layout_weight="1" />
    <Button android:id="@+id/button11" android:layout_width="fill_parent" 
        android:layout_height="wrap_content" android:text="Cancel" android:layout_weight="1" />
</LinearLayout>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...