2017-01-28 3 views
3

Я создаю андроид приложение, в котором я собираю пользователь некоторых messages.But я получаю некоторые вопросы, такие как следующие ..Редактирование текста перекрывает друг друг

Я добавил 3 редактировать текст в встревоженной dialog..the третье текстовое поле редактирования имеющее многослойные строк текстового поле так, всякий раз, когда я добавляю несколько строк его получение перекрывается выше два редактирование текста

здесь снимок ошибки

This one is perfect text

Here is issue

Здесь Is Компоновка файл

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:weightSum="1"> 
<ScrollView 
android:layout_width="245dp" 
android:layout_height="245dp" 
android:layout_weight="0.40" 
android:layout_gravity="center_horizontal"> 
<RelativeLayout 
    android:layout_width="245dp" 
    android:layout_height="200dp"> 
<EditText 
    android:layout_width="235dp" 
    android:layout_height="wrap_content" 
    android:inputType="textEmailAddress" 
    android:ems="10" 
    android:id="@+id/editText6" 
    android:layout_gravity="center_horizontal" 
    android:hint="Your Email Id" 
    android:layout_alignBaseline="@+id/editText5" 
    android:layout_alignBottom="@+id/editText5" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" /> 

<EditText 
    android:layout_width="240dp" 
    android:layout_height="wrap_content" 
    android:id="@+id/editText4" 
    android:layout_gravity="center_horizontal" 
    android:hint="Title" 
    android:singleLine="true" 
    android:layout_centerVertical="true" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" /> 

<EditText 
    android:layout_width="236dp" 
    android:layout_height="wrap_content" 
    android:inputType="textMultiLine" 
    android:ems="10" 
    android:id="@+id/editText5" 
    android:hint="Description" 
    android:layout_gravity="center_horizontal" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" /></RelativeLayout></ScrollView> 

    <Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Submit" 
    android:id="@+id/button10" 
    android:layout_gravity="center_horizontal" /> 

</LinearLayout> 
+0

использование ** андроида: layout_below = "@ + идентификатор/editText4" **, это заставит многострочный TextView остаться ниже Описание TextView – Sanjeet

+0

Оберните EditText в Scrollview. – AnixPasBesoin

ответ

2

Причина для вашей проблемы: android:inputType="textMultiLine" подталкивает контент, когда есть новая строка!

  • Вы можете использовать android:maxLines="1" для EditText [каким-либо образом это будет полезно для вас, поскольку вы использовали android:singleLine="true" с вроде dipricated]

Ps: Жесткое кодирование android:maxLength не будет решать ваши потому что экраны могут быть разных размеров, что затрудняет вам решение, сколько строк вы держите!

Также вы можете использовать android:maxHeight="xdp" для вида editText, тогда предел не будет превышен!

+0

'android: maxLines =" 3 "' решить проблему –

+0

это будет, но я не рекомендую вам это делать. Допустим, если вы запустите это на маленьком экране, подумайте, что он будет таким же, как сейчас! Я рекомендую использовать значения на основе коэффициентов! или распределить размер на основе коэффициентов, которые будут лучше! –

+0

@Nilesh Indalkar также я бы хотел указать некоторые изменения, которые вам нужны! Тем не менее у вас нет четкого представления о сумме веса, пожалуйста, прочтите это -> спросите, есть ли у вас сомнения http://stackoverflow.com/documentation/android/94/layouts/11501/view-weight#t=201701281554004941051 –

0

Вы должны использовать

android:maxLength="4" 

номера строк вы хотите, чтобы исправить для редактирования текста

+0

извините, но его разрешено только 4 символа означает 4 столбца –

+0

да, он должен иметь некоторые фиксированные столбцы, иначе вы будете перекрывать текст редактирования. –

+0

android: maxLines решить проблему –

0

Использование LinearLayout с вертикальной ориентацией вместо RelativeLayout , Если вы хотите использовать RelativeLayout, тогда установите layout_below атрибут RelativeLayout.

0

Вам необходимо установить android:maxLines="4". Установите максимальные линии для решения этой проблемы.

<EditText 
android:id="@+id/editText4" 
android:maxLines="4" 
android:layout_width="240dp" 
android:layout_height="wrap_content" 
android:layout_gravity="center_horizontal" 
android:hint="Title" 
android:layout_alignParentStart="true" /> 
0

Вы можете использовать android:layout_below и android:layout_marginTop в ваших взглядах EditText и держать дистанцию ​​между вашими взглядами.

Пример:

<EditText 
    android:layout_width="236dp" 
    android:layout_height="wrap_content" 
    android:inputType="textMultiLine" 
    android:ems="10" 
    android:id="@+id/editText5" 
    android:hint="Description" 
    android:layout_gravity="center_horizontal" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" 

    android:layout_below="@+id/editText4" 
    android:layout_marginTop="20dp"/> 
Смежные вопросы