размер столбца таблицы Android - PullRequest
0 голосов
/ 09 ноября 2010

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

Я использовал линейный макет, как я могу переместить текстовое поле слева от центра в коде ниже

<LinearLayout android:layout_width="fill_parent"
    android:layout_height="fill_parent" android:orientation="vertical"
    android:gravity="center">
    <LinearLayout android:id="@+id/calcInterestRateRow"
        android:layout_width="fill_parent" android:layout_height="wrap_content"
        android:orientation="horizontal">
        <LinearLayout android:layout_marginRight="3dip"
            android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_gravity="right"
            android:orientation="horizontal" android:layout_weight="1">
            <TextView android:text="%" android:textColor="@color/white"
                android:layout_width="wrap_content" android:layout_height="wrap_content" />
            <EditText android:id="@+id/calcInterestRateLabel"
                android:layout_height="wrap_content" android:layout_width="90dip"
                android:lines="1" android:inputType="phone" android:imeOptions="actionNext" />
        </LinearLayout>
        <TextView android:id="@+id/calcSalesTaxLabel"
            android:layout_marginLeft="3dip" android:layout_width="fill_parent"
            android:layout_height="wrap_content" android:text="Interest Rate %"
            android:textColor="@color/white" android:layout_weight="1" />
    </LinearLayout>
</LinearLayout>

1 Ответ

0 голосов
/ 09 ноября 2010

Попробуйте что-то вроде этого:

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:orientation="vertical"
        >
        <TextView
            android:id="@+id/interest_rate_label"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="%"
            />
        <EditText
            android:id="@+id/interest_rate_edit"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:hint="Interest Rate..."
            />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:orientation="vertical"
        >
        <TextView
            android:id="@+id/sales_tax_label"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="Interest Rate %"
        />
    </LinearLayout>
<LinearLayout>

Я проверю это, когда вернусь домой, но думаю, что это сработает.По сути, просто поместите две отдельные LinearLayout в LinearLayout, каждый из которых взвешен в 1 (чтобы они имели одинаковую ширину), затем поместите ваши представления в эти LinearLayouts.Вы также можете добавить некоторые отступы к LinearLayouts.

РЕДАКТИРОВАТЬ: попробуйте этот способ с TableLayout.Это не идеально, но оно вас туда доставит!

<?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|2"
    >
    <TableRow
        android:layout_height="wrap_content"
        android:weightSum="2"
        android:layout_margin="5dp"
        >
        <EditText
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right"
            android:layout_weight="1"
            android:paddingRight="5dp"
            android:gravity="right|center_vertical"
            android:hint="percent"
            />
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="left|center_vertical"
            android:layout_weight="1"
            android:paddingLeft="5dp"
            android:textStyle="bold"
            android:textSize="16sp"
            android:textColor="@android:color/white"
            android:text="Interest Rate"
            />
    </TableRow>

    <TableRow
        android:layout_height="wrap_content"
        android:weightSum="2"
        android:layout_margin="5dp"
        >
        <EditText
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right"
            android:layout_weight="1"
            android:paddingRight="5dp"
            android:gravity="right|center_vertical"
            android:hint="months"
            />
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="left|center_vertical"
            android:layout_weight="1"
            android:paddingLeft="5dp"
            android:textStyle="bold"
            android:textSize="16sp"
            android:textColor="@android:color/white"
            android:text="Loan Term"
            />
    </TableRow>

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