如何避免编辑文本覆盖文本视图

时间:2016-02-01 14:33:59

标签: android android-edittext textview

我是Android新手,我制作了一个编辑文本,用户可以在其中输入他的电子邮件ID,但当他输入错误的电子邮件时,我会在右侧的文本框中显示消息"无效的用户"通过使其可见,问题是如果用户电子邮件很长,那么消息将会通过它,我想避免它。 这是xml:

y_lim

4 个答案:

答案 0 :(得分:1)

由于您将strPriorCaseNumber宽度设为strPriorCaseNumber' =,因此它将适合其父级。

对于要用于显示消息的textview,应该有正确的布局参数,如对齐emailedittext(如果你想要旁边的编辑文本)等错过。

因此,如果您想在match_parent之外显示,请使用toRightOf给TextView&修复编辑文本的宽度。要在下方显示,请提供emailedittext

在这里,我想用代码来回答

toRightOf

线性使用权重

layout_below

<强> 建议

对于移动应用,请尝试将消息作为提醒或Toast提供。避免在textview中显示这样的消息。

对于编辑文字,请使用setError显示提醒或用户注意。 我用setError提供的一个样本用于编辑文本

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <EditText
        android:id="@+id/emailedittext"
        android:layout_width="250dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp"
        android:ems="10"
        android:hint="To my first character"
        android:lines="2"
        android:text="helloworld_android@androiduser.com">

        <requestFocus />
    </EditText>

    <TextView
        android:id="@+id/text_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp"
        android:layout_toRightOf="@+id/emailedittext"
        android:text="INVALID USER "

        />

</RelativeLayout>

答案 1 :(得分:0)

删除所有对齐父项并简单地为TextView提供属性下面的宽度,高度,id和布局。然后你可以看到一个在另一个之下,因为你已经给出了相对布局

答案 2 :(得分:0)

你能做的是,

  1. 在显示错误消息
  2. 之前清除编辑文本的值
  3. 设置文本视图的背景颜色与背景颜色od编辑文本相同。因此,文本视图下方的部分不会对用户可见

答案 3 :(得分:0)

这样做:

<LinearLayout
    android:orientation="horizontal"
    ... >
    <EditText
        android:id="@+id/email"
        android:weight="2"
        android:width="0dp"
        android:height="wrap_content"
        ... />
    <TextView
        android:id="@+id/msg"
        android:weight="1"
        android:width="0dp"
        android:height="wrap_content"
        android:visibility="gone"
        ... />
</LinearLayout>

这种方式当msg TextView被隐藏时,电子邮件将占据全宽。当msg可见时,电子邮件将占用2/3宽度,msg将占用1/3宽度。