-
Notifications
You must be signed in to change notification settings - Fork 52
Open
Description
你好!
现在有一种使用场景:允许edittext显示多行文本,即输入时可以换行输入,同时希望右边的删除图标紧贴输入框底线, 此时不指定android:inputType就可以换行,就像这样
随之而来的问题是, 现在希望右边的删除图标紧贴输入框底线,该如何实现?
我进行了尝试,将R.drawable.delete用layer-list包起来,并指定gravity
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<bitmap android:src="@drawable/delete"
android:gravity="bottom"/>
</item>
</layer-list>并在edittext 的 setDeleteIconVisible(boolean deleteVisible,boolean leftVisible) 方法中给上面的drawable setBounds()来设置宽高,
private void setDeleteIconVisible(boolean deleteVisible,boolean leftVisible) {
if (ic_delete != null) {
ic_delete.setBounds(0, 0, ic_delete.getIntrinsicWidth(), getMeasuredHeight());
}
setCompoundDrawables(leftVisible ? ic_left_click : ic_left_unclick, null,
deleteVisible ? ic_delete: null, null);
color = leftVisible ? lineColor_click : lineColor_unclick;
setTextColor(color);
invalidate();
}此时删除图标的确会紧贴底线,但出现了新的问题,就是每输入一个字符,控件高度都在变高,getMeasuredHeight()总是在变大,
即使输入并没有换行。就像这样:
然后我就不知道该怎么办了...希望能获得帮助 : )
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels