Горизонтальное выравнивание элементов управления пользовательского интерфейса в Android - PullRequest
3 голосов
/ 03 февраля 2012

Пожалуйста, предоставьте решение, чтобы расположить два элемента управления EditView в одном горизонтальном положении. Как выровнять по левому краю EditView порта с EditView IP-адреса. Также обеспечивает снимок экрана текущего представления

enter image description here

пожалуйста, найдите текущий код макета

<?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="210dip"
android:layout_marginTop="10dip"
android:background="#DDDDDD"
>
<TextView
    android:id="@+id/head"
    android:text="Connection Settings"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:textColor="#0000ff"
    android:textSize="10pt" 
/>
<TextView
    android:id="@+id/tv_ip"
    android:layout_width="125dip"
    android:layout_height="wrap_content"
    android:textSize="10pt"
    android:textColor="#444444"
    android:layout_alignParentLeft="true"
    android:layout_marginRight="9dip"
    android:layout_marginTop="20dip"
    android:layout_marginLeft="10dip"
    android:layout_below="@id/head"
    android:text="IP Address"/>
<EditText
    android:id="@+id/et_ip"
    android:layout_width="150dip"
    android:layout_height="wrap_content"
    android:background="@android:drawable/editbox_background"
    android:layout_toRightOf="@id/tv_ip"
    android:layout_alignTop="@id/tv_ip"/>
 <TextView
    android:id="@+id/tv_port"
    android:layout_width="125dip"
    android:layout_height="wrap_content"
    android:textSize="10pt"
    android:textColor="#444444"
    android:layout_alignParentLeft="true"
    android:layout_below="@id/tv_ip"
    android:layout_marginRight="9dip"
    android:layout_marginTop="15dip"
    android:layout_marginLeft="10dip"
    android:text="Port"/>
<EditText
    android:id="@+id/et_port"
    android:layout_width="150dip"
    android:layout_height="wrap_content"
    android:background="@android:drawable/editbox_background"
    android:layout_toRightOf="@id/tv_port"
    android:layout_alignTop="@id/tv_port"
    android:layout_below="@id/et_ip"
    android:layout_marginLeft="17dip"
    />
<Button
    android:id="@+id/btn_Save"
    android:layout_width="100dip"
    android:layout_height="wrap_content"
    android:layout_below="@id/et_port"
    android:layout_alignParentLeft="true"
    android:layout_marginTop="15dip"
    android:layout_marginLeft="110dip"
    android:text="Save" />
</RelativeLayout>

спасибо

Ответы [ 4 ]

2 голосов
/ 03 февраля 2012

У меня не так много времени, чтобы переработать ваш текущий макет, но вы должны использовать GridLayout для чего-то подобного, когда вам нужно выровнять формы и поля ввода - http://developer.android.com/reference/android/widget/GridLayout.html

Если вы хотите учебное пособие, дайте этому быстрому шанс - http://blog.stylingandroid.com/archives/669, оно ясно показывает, как вы бы выровняли их.

Обратите внимание, как вы можете иметь пробелы:

GridLayout example from Blog Tutorial

Надеюсь, это поможет вам двигаться в правильном направлении.

2 голосов
/ 03 февраля 2012

Вы просто должны добавить android:layout_alignLeft="@+id/et_ip" в код вашего EditText et_port .
Вот исправленный код:

<?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="210dip"
    android:layout_marginTop="10dip"
    android:background="#DDDDDD" >

    <TextView
        android:id="@+id/head"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:text="Connection Settings"
        android:textColor="#0000ff"
        android:textSize="10pt" />

    <TextView
        android:id="@+id/tv_ip"
        android:layout_width="125dip"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@id/head"
        android:layout_marginLeft="10dip"
        android:layout_marginRight="9dip"
        android:layout_marginTop="20dip"
        android:text="IP Address"
        android:textColor="#444444"
        android:textSize="10pt" />

    <EditText
        android:id="@+id/et_ip"
        android:layout_width="150dip"
        android:layout_height="wrap_content"
        android:layout_alignTop="@id/tv_ip"
        android:layout_toRightOf="@id/tv_ip"
        android:background="@android:drawable/editbox_background" />

    <TextView
        android:id="@+id/tv_port"
        android:layout_width="125dip"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@id/tv_ip"
        android:layout_marginLeft="10dip"
        android:layout_marginRight="9dip"
        android:layout_marginTop="15dip"
        android:text="Port"
        android:textColor="#444444"
        android:textSize="10pt" />

    <EditText
        android:id="@+id/et_port"
        android:layout_width="150dip"
        android:layout_height="wrap_content"
        android:layout_alignTop="@id/tv_port"
        android:layout_below="@id/et_ip"
        android:layout_toRightOf="@id/tv_port"
        android:layout_alignLeft="@+id/et_ip"
        android:background="@android:drawable/editbox_background" />

    <Button
        android:id="@+id/btn_Save"
        android:layout_width="100dip"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@id/et_port"
        android:layout_marginLeft="110dip"
        android:layout_marginTop="15dip"
        android:text="Save" />

</RelativeLayout>
0 голосов
/ 03 февраля 2012

Попробуйте с этим кодом `

<TextView
    android:id="@+id/head"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_gravity="center"
    android:text="Connection Settings"
    android:textColor="#0000ff"
    android:textSize="10pt" />

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_marginTop="20dp"
    android:orientation="horizontal" >

    <TextView
        android:id="@+id/tv_ip"
        android:layout_width="160dip"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:text="IP Address"
        android:textColor="#444444"
        android:textSize="10pt" />

    <EditText
        android:id="@+id/et_ip"
        android:layout_width="150dip"
        android:layout_height="wrap_content"
        android:layout_toLeftOf="@+id/tv_ip"
        android:background="@android:drawable/editbox_background" />
</LinearLayout>

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_marginTop="20dp"
    android:orientation="horizontal" >

    <TextView
        android:id="@+id/tv_port"
        android:layout_width="160dip"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/tv_ip"
        android:text="Port"
        android:textColor="#444444"
        android:textSize="10pt" />

    <EditText
        android:id="@+id/et_port"
        android:layout_width="150dip"
        android:layout_height="wrap_content"
        android:layout_alignTop="@+id/tv_port"
        android:layout_below="@+id/et_ip"
        android:layout_toRightOf="@+id/tv_port"
        android:background="@android:drawable/editbox_background" />
</LinearLayout>

<Button
    android:id="@+id/btn_Save"
    android:layout_width="100dip"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_marginTop="20dp"
    android:text="Save" />

` и дайте мне знать, если есть какие-либо проблемы

0 голосов
/ 03 февраля 2012

Попробуйте это:

<?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="210dip"
    android:layout_marginTop="10dip"
    android:background="#DDDDDD" >

    <TextView
        android:id="@+id/head"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:text="Connection Settings"
        android:textColor="#0000ff"
        android:textSize="10pt" />

    <TextView
        android:id="@+id/tv_ip"
        android:layout_width="125dip"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@id/head"
        android:layout_marginLeft="10dip"
        android:layout_marginRight="9dip"
        android:layout_marginTop="20dip"
        android:text="IP Address"
        android:textColor="#444444"
        android:textSize="10pt" />

    <EditText
        android:id="@+id/et_ip"
        android:layout_width="150dip"
        android:layout_height="wrap_content"
        android:layout_alignTop="@id/tv_ip"
        android:layout_toRightOf="@id/tv_ip"
        android:background="@android:drawable/editbox_background" />

    <TextView
        android:id="@+id/tv_port"
        android:layout_width="125dip"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@id/tv_ip"
        android:layout_marginLeft="10dip"
        android:layout_marginRight="9dip"
        android:layout_marginTop="15dip"
        android:text="Port"
        android:textColor="#444444"
        android:textSize="10pt" />

    <EditText
        android:id="@+id/et_port"
        android:layout_width="150dip"
        android:layout_height="wrap_content"
        android:layout_alignTop="@+id/tv_port"
        android:layout_toRightOf="@+id/tv_port"
        android:background="@android:drawable/editbox_background" />

    <Button
        android:id="@+id/btn_Save"
        android:layout_width="100dip"
        android:layout_height="wrap_content"
        android:layout_below="@+id/et_port"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="16dp"
        android:text="Save" />

</RelativeLayout>

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...