Android: равномерное расстояние между представлениями выровнено по вертикали - PullRequest
0 голосов
/ 17 августа 2011

В моем макете 4 вида EditText выровнены по вертикали.но после последнего EditText есть пустой интервал.Я хочу выровнять эти виды равномерно, чтобы интервалы между изображениями до и после были одинаковыми.Как этого добиться?

- nehatha

Ответы [ 2 ]

1 голос
/ 17 августа 2011

Вы можете обернуть каждый из ваших EditText в FrameLayout равным весом макета и установить Gravity этих макетов кадра в центр (или layout_gravity из EditText с).

Отредактировано:
Ну, мое первоначальное решение оставляет меньше места сверху и снизу, чем между текстами редактирования. Но этот работает отлично: просто добавьте FrameLayout между каждым видом и сверху и снизу с помощью layout_weight="1":

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    android:layout_width="fill_parent"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_height="fill_parent"
>
    <FrameLayout
        android:layout_width="fill_parent"
        android:layout_weight="1"
        android:layout_height="wrap_content"
    ></FrameLayout>
    <EditText
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
    ></EditText>
    <FrameLayout
        android:layout_width="fill_parent"
        android:layout_weight="1"
        android:layout_height="wrap_content"
    >
    </FrameLayout>
    <EditText
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
    ></EditText>
    <FrameLayout
        android:layout_width="fill_parent"
        android:layout_weight="1"
        android:layout_height="wrap_content"
    >
    </FrameLayout>
    <EditText
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
    ></EditText>
    <FrameLayout
        android:layout_width="fill_parent"
        android:layout_weight="1"
        android:layout_height="wrap_content"
    >
    </FrameLayout>
    <EditText
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
    ></EditText>
    <FrameLayout
        android:layout_width="fill_parent"
        android:layout_weight="1"
        android:layout_height="wrap_content"
    >
    </FrameLayout>
</LinearLayout>
0 голосов
/ 17 августа 2011

, если вы используете xml, то во все EditText добавьте этот тег,

android:layoutMargin = "5dip"

и в родительский макет (я предполагаю его LinearLayout)

android:layoutHeight = "wrap_content"

Обновление

добавление жестко закодированных значений не повредит вашему коду, поскольку «dip» и «dp» - это все единицы измерения, которые адаптированы к различным разрешениям экрана.он имеет нулевой эффект evn при изменении разрешения экрана ..

проверьте это .. http://developer.android.com/resources/samples/MultiResolution/index.html

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