android上的iphone风格文本编辑

android上的iphone风格文本编辑,android,Android,我正在尝试在android上创建iPhone风格的EditText元素。 文本输入后,右侧将显示一个额外的清除按钮 添加一个新按钮不是问题,但我有点被另一件事卡住了 按钮在EditText的右侧部分占据一些空间,现在字符显示在按钮下方。如何更改EditText输入的最大显示长度? 我希望EditText宽度为N像素,可编辑区域为N-M像素 EditText.setWidth更改整个编辑框的宽度。 EditText.setEllipsize应该是合适的解决方案,但文档是空的,我认为它会根据一些字符

我正在尝试在android上创建iPhone风格的EditText元素。 文本输入后,右侧将显示一个额外的清除按钮

添加一个新按钮不是问题,但我有点被另一件事卡住了

按钮在EditText的右侧部分占据一些空间,现在字符显示在按钮下方。如何更改EditText输入的最大显示长度?
我希望EditText宽度为N像素,可编辑区域为N-M像素

EditText.setWidth更改整个编辑框的宽度。
EditText.setEllipsize应该是合适的解决方案,但文档是空的,我认为它会根据一些字符串值截断文本。
应用LengthFilter剪切将输入长度设置为字符数


提前谢谢。

我想这会帮你省去很多痛苦。

我想这会帮你省去很多痛苦。

看来我找到了解决办法。
setPadding(l,t,r,b)似乎工作正常,仅适用于可编辑区域

似乎我找到了解决方案。
EditText.setPadding(l,t,r,b)似乎很好,只适用于可编辑区域

试试这个:

试试这个:

这是一个非常老的问题,但我想我会加上我的两分钱来踢。我可能会为此使用9补丁,并将内容区域设置为在文本点击按钮区域之前停止文本。 这将需要创建一个自定义视图,以便您可以使用相对布局在所需位置添加一个按钮,以便单击该按钮以清除编辑文本

或者,您也可以使用复合的drawables,但您需要实现类似这样的功能
以便您可以处理单击事件。请记住,我怀疑按钮状态(如关闭状态)是否能用这种方法工作。

这是一个非常古老的问题,但我想我会加上我的两分钱。我可能会为此使用9补丁,并将内容区域设置为在文本点击按钮区域之前停止文本。 这将需要创建一个自定义视图,以便您可以使用相对布局在所需位置添加一个按钮,以便单击该按钮以清除编辑文本

或者,您也可以使用复合的drawables,但您需要实现类似这样的功能
以便您可以处理单击事件。请记住,我怀疑使用此方法按钮状态(如关闭状态)是否有效。

已尝试将按钮的compoundDrawable设置为右侧。但没有找到如何将处理程序添加到此可绘制文件。该按钮应清除输入的文本。已尝试将按钮的compoundDrawable设置为右侧。但没有找到如何将处理程序添加到此可绘制文件。按钮应清除输入的文本。