9

对于将填充 RTL 文本的 EditText,有没有办法改变错误可绘制(当然还有弹出)的严重性?

这是常规错误可绘制的示例

错误绘制永远正确

因此,由于输入的文本是 RTL,我希望弹出窗口显示在 EditText 的左侧

我试图应用自定义 drawable ,但Drawable似乎没有任何 setGravity 方法。

提前致谢。

4

2 回答 2

1

这是不可能的,但您可以扩展 Android TextView 类并更改 Android 用来填充弹出窗口的布局。我自己没有尝试过,但它可以工作。

我快速浏览了 TextView的源代码并找到了这一行

final TextView err = (TextView) inflater.inflate(com.android.internal.R.layout.textview_hint,
                   null);

对此布局的引用。

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/popup_inline_error"
    android:textAppearance="?android:attr/textAppearanceSmallInverse"
/>

在这里增加重力可以解决问题。可适用于可绘制对象的类似方法。

于 2013-03-02T11:45:37.503 回答
-2

已经一年多了,但如果它对其他人有帮助,您可以使用:

myEdit.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_error, 0, 0, 0);

但它会一直存在,直到你删除它

myEdit.setCompoundDrawablesWithIntrinsicBounds(0, 0, 0, 0);
于 2014-06-26T06:57:25.650 回答