出现错误消息时,TextView中的文本正在更改

时间:2018-08-29 07:08:20

标签: android textview

我的Android应用程序中有一个TextView显示文本:

错误消息前出现TextView

image1

发生某些操作时,我在此TextView上显示了一条错误消息:

错误消息后的

TextView

image2

我的问题是文本位置与您在两个图片中看到的位置都不一样

我该怎么解决这个问题?

ــــــــ

更新: 上面图片的Xml代码

<?xml version="1.0" encoding="utf-8"?>
<TableLayout
    android:id="@+id/tableLayOut"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="10dp"
    >

    <TextView
        android:id="@+id/title"
        android:textSize="23sp"
        android:textColor="@color/black"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        />

    <RadioGroup
        android:id="@+id/radiogroup"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:orientation="vertical" />

</TableLayout>

4 个答案:

答案 0 :(得分:1)

尝试为可绘制的错误留出一定的预定义空间,并指定其布局大小。

答案 1 :(得分:0)

在两种情况下都将对齐。只是它看起来很混乱,因为在出​​现错误消息后,textview还调整了错误图标的空间。要管理错误图标的空间,请在显示错误消息后在可用的空间中管理文本。

希望这可以解决问题。 如果没有,则共享您的代码将使问题易于解决。

答案 2 :(得分:0)

尝试通过更改组件属性将textview的对齐方式设置为居中,将错误消息的对齐方式设置为右。

答案 3 :(得分:0)

TextView处出现错误Drawable覆盖了空间,这就是为什么Text在剩余区域中被重新绘制的原因。

要禁用此行为,我现在唯一想到的方法是利用: setError(CharSequence error, Drawable icon)

setError会在您调用它时设置合适的可绘制对象。因此,最初的想法是使用与drawableRight的{​​{1}}相同大小的透明图标。

每当您重置Error时,都再次设置相同的透明可绘制对象。

TextView