android edittext выровнять текст справа и метку слева - PullRequest
3 голосов
/ 26 декабря 2011

Я хочу, чтобы текст для редактирования отображался там, где слева от текста для редактирования отображается надпись «Имя», а ввод вводится справа налево

Если я установил Android: гравитация как вправо, введитестановится справа налево.Но в этом случае метка, т. Е. Независимо от того, что задано как android: текст для текста редактирования, также выравнивается по правому краю.

Если я использовал android: подсказку и установил в качестве значения android: gravity, подсказка вообще не отображается.

Какой вариант получить метку слева и ввести справа.

Ответы [ 3 ]

1 голос
/ 26 декабря 2011

Использовать макет таблицы

    <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:stretchColumns="1" >

    <TableRow android:layout_marginTop="20dp" >

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/lblUser" />

        <EditText
            android:id="@+id/UserNameField"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginRight="30dp"
            android:layout_x="68dp"
            android:layout_y="40dip"
            android:inputType="textEmailAddress"
            android:lines="1"
            android:maxLines="1"
            android:maxWidth="150dip"
            android:minWidth="230dip" >
        </EditText>
    </TableRow>

</TableLayout>
1 голос
/ 26 декабря 2011

возьмите линейный макет с горизонтальной ориентацией и добавьте два линейных макета с вертикальной ориентацией: первый макет будет иметь «Левая сила тяжести» и метку «Имя», а другой - «Правка» и «Правая сила тяжести».

0 голосов
/ 26 декабря 2011

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

Моя идея получить тот же результат,

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

2) Теперь, в xml файле возьмите один <LinearLayout>, установите это первое изображение в качестве фона для этого макета и в этом макете Take 1 TextView(for Name:) and EditText(to input) и установите TextView - EditText цвет фона на Прозрачный , ооо и да придайте правильную силу тяжести EditText, как вы пожелали

3) Напишите один XML-файл селектора для фона EditText и вместо оранжевого по умолчанию сделайте фокус bg прозрачным (чтобы никто не узнал, что этот текст редактирования находится внутри макета, когда он сфокусирован)

4) и напишите селектор XML для LinearLayout и установите сфокусированный фон для рисования на втором изображении.

И вы увидите на экране то, что хотели.

Примечания: Если это дизайн вашего клиента, то все в порядке, если ваш собственный, то я не за вас. и, пожалуйста, не просите меня написать пример.

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