我的Android应用程序中有一个TextView显示文本:
错误消息前出现TextView
发生某些操作时,我在此TextView上显示了一条错误消息:
错误消息后的TextView
我的问题是文本位置与您在两个图片中看到的位置都不一样
我该怎么解决这个问题?
ــــــــ
更新: 上面图片的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>
答案 0 :(得分:1)
尝试为可绘制的错误留出一定的预定义空间,并指定其布局大小。
答案 1 :(得分:0)
在两种情况下都将对齐。只是它看起来很混乱,因为在出现错误消息后,textview还调整了错误图标的空间。要管理错误图标的空间,请在显示错误消息后在可用的空间中管理文本。
希望这可以解决问题。 如果没有,则共享您的代码将使问题易于解决。
答案 2 :(得分:0)
尝试通过更改组件属性将textview的对齐方式设置为居中,将错误消息的对齐方式设置为右。
答案 3 :(得分:0)
在TextView
处出现错误Drawable
覆盖了空间,这就是为什么Text
在剩余区域中被重新绘制的原因。
要禁用此行为,我现在唯一想到的方法是利用:
setError(CharSequence error, Drawable icon)
。
setError
会在您调用它时设置合适的可绘制对象。因此,最初的想法是使用与drawableRight
的{{1}}相同大小的透明图标。
每当您重置Error时,都再次设置相同的透明可绘制对象。
TextView