Android EditText.setError()弹出窗口位置
我使用的是V16API,在屏幕键盘显示时弹出窗口的位置有问题 第一个问题是,如果Android EditText.setError()弹出窗口位置,android,android-layout,android-edittext,scrollview,Android,Android Layout,Android Edittext,Scrollview,我使用的是V16API,在屏幕键盘显示时弹出窗口的位置有问题 第一个问题是,如果EditText位于屏幕底部,当我触摸该字段以打开它进行编辑时,弹出窗口显示在控件下方,并且随着键盘的出现而立即覆盖。它不会将自身重新定位到EditText上方,直到按键触发我的验证代码以再次触发新值 第二个问题是,当我关闭键盘时,包含文本的ScrollView从其自身定位的位置向下滚动,以显示键盘上方的EditText,弹出窗口将保留在屏幕的上半部分,而不是EditText所在的位置,直到我触摸屏幕上的其他内容屏幕
EditText
位于屏幕底部,当我触摸该字段以打开它进行编辑时,弹出窗口显示在控件下方,并且随着键盘的出现而立即覆盖。它不会将自身重新定位到EditText
上方,直到按键触发我的验证代码以再次触发新值
第二个问题是,当我关闭键盘时,包含文本的
ScrollView
从其自身定位的位置向下滚动,以显示键盘上方的EditText
,弹出窗口将保留在屏幕的上半部分,而不是EditText
所在的位置,直到我触摸屏幕上的其他内容屏幕(触发ScrollView进行重画???。不幸的是,弹出窗口存在如下各种问题:(
也许在您的情况下,一个简单的解决方案是在键盘显示并关闭时强制使UI无效?无法回忆如果EditText无效,弹出窗口是否会重新定位,但值得尝试,因为替代方法可能是重新实现
在github上查看我的android强大验证库,它会重新实现……尽管有它自己的问题——如果你走这条路,为什么不帮我做点贡献;)你在github上的位置在哪里?对“straya”进行用户搜索时没有显示任何内容。editText或其父项的无效不会触发在正确位置重新绘制弹出窗口。抱歉,Dan,本以为您可以搜索项目名称(您可以有;P),这里是链接:嗯,好的,所以失效失败,但是再次设置setError文本怎么样?也许这会产生错误弹出窗口的重画?我尝试重置键盘显示时触发的事件中的错误文本(以及之后的常规文本)。令人困惑的是,两者都阻止了ScrollView的滚动;将编辑文本完全放在键盘下。