Android Left, Center и Right Alignment

Я новичок в android и пытаюсь сделать пример приложения, в котором 3 элемента (2 кнопки и 1 текстовый вид) размещаются горизонтально. Мне нужно, чтобы текст находился в центре с двумя кнопками, расположенными влево и вправо от просмотра.

например.

|<Button>    <Text>     <Button>|

Оцените, можете ли вы помочь мне с этим.

Заранее спасибо

Ответы

Ответ 1

EDIT: Я считаю, что это решит вашу проблему. См. Приведенный ниже код. Позвольте мне знать, если это помогает! Я знаю, что это помогло мне, и я буду использовать его. Примите это как ответ, если он сработает! =)

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:stretchColumns="1">
    <TableRow>
        <Button 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" 
            android:text="button1" 
            android:id="@+id/button1button"></Button>
        <EditText 
            android:layout_height="wrap_content" 
            android:id="@+id/firstedittext"
            android:layout_width="wrap_content"></EditText>
        <Button 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="button2" 
            android:id="@+id/button2button"></Button>
    </TableRow>
</TableLayout>

EDIT: добавлен относительный макет, чтобы увидеть, работает ли он для вас, сообщите мне, работает ли он. Вам нужно будет отрегулировать "10px", чтобы получить желаемое расстояние. Я вижу, есть ли лучший способ сделать это, когда расстояние более динамичное.

Вы можете сделать кнопки "alignParentLeft" и "alignParentRight", чтобы они выравнивались с правой и левой стороной экрана. Тем не менее, мне все еще не удается получить текст между двумя видами.

Вы можете сделать это в своем XML файле для макета. Сделайте его горизонтальным макетом и сначала добавьте первую кнопку, затем текстовое представление, затем вторую кнопку. Будет опубликован xml в ближайшее время для примера.

    <RelativeLayout 
        android:id="@+id/LinearLayout01"
        android:orientation="horizontal" 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">
        <Button 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" 
            android:text="button1" 
            android:layout_alignParentLeft="true"
            android:layout_marginRight="10px"
            android:id="@+id/button1button"></Button>
        <EditText 
            android:layout_height="wrap_content" 
            android:id="@+id/firstedittext"
            android:layout_toRightOf="@id/button1button"
            android:layout_marginRight="10px"
            android:layout_width="wrap_content"></EditText>
        <Button 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_toRightOf="@id/firstedittext"
            android:text="button2" 
            android:id="@+id/button2button"></Button>
    </RelativeLayout>

Ответ 2

это сделает трюк. Вам нужна абсолютная сила тяжести. Это тоже должно работать со всеми размерами экрана Android. Я не думаю, что вам нужно будет использовать любые поля или paddings, они будут помешать вам, когда у вас есть контент у ваших детей (поля являются относительными с точки зрения выбора их, иначе: вы хотите меньший запас, когда у вас меньше текста... который часто случается во время перевода, новые функции, замены и т.д.)

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal" 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">
    <Button 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" 
        android:text="button1" 
        android:layout_alignParentLeft="true"/>
    <EditText 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" 
        android:id="@+id/firstedittext"
        android:layout_centerInParent="true"/>
    <Button 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="button2" 
        android:layout_alignParentRight="true"/>
</RelativeLayout>

Ответ 3

Это мой код на LinearLayout. Надеюсь, это поможет вам!

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

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

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="start"
            android:text="Button1" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:orientation="vertical" >

        <EditText
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:ems="10"
            android:text="Chao cac ban" >

            <requestFocus />
        </EditText>
    </LinearLayout>

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

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="end"
            android:text="Button2" />
    </LinearLayout>

</LinearLayout>