编辑文本相互重叠

时间:2017-01-28 15:07:32

标签: android android-layout android-edittext

我正在创建一个Android应用程序,我正在收集用户的一些消息。但是我遇到了一些问题,例如以下内容..

我在警告对话框中添加了3个编辑文本。第三个编辑文本框有多行文本框,所以每当我添加多行时,它会重叠到上面两个编辑文本

这是错误的快照

This one is perfect text

Here is issue

这是布局文件

<?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>

5 个答案:

答案 0 :(得分:2)

问题的原因是android:inputType="textMultiLine"在有新行时推送内容!

  • 您可以android:maxLines="1"使用EditText [以任何方式对您有用,因为您使用的android:singleLine="true"是一种二元化的方式]

Ps :硬编码android:maxLength无法解决您的问题,因为屏幕可能有不同的尺寸,这使您很难决定保留多少行!

此外,您可以将android:maxHeight="xdp"用于editText视图,然后不会执行限制!

答案 1 :(得分:0)

你应该使用

android:maxLength="4"

要修改编辑文本的行号

答案 2 :(得分:0)

使用垂直方向的libxmlGetNodeContent(nodePtr)代替LinearLayout。 如果您想使用RelativeLayout,请设置RelativeLayout的{​​{1}}属性。

答案 3 :(得分: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" />

答案 4 :(得分:0)

您可以在EditText视图中使用android:layout_belowandroid:layout_marginTop,并保持视图之间的距离。

示例:

<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"/>