【发布时间】:2011-09-04 19:20:02
【问题描述】:
似乎是一个常见问题,但我没有找到很好的解决方案。目标是阻止 ScrollView 自动滚动到具有焦点的 EditText(或任何与此相关的视图)。
ScrollView 中有很多视图(Buttons、TextViews 等),其中一个是 EditText。单击ScrollView 中的按钮后,ScrollView 会向下滚动到EditText(它的屏幕外)。这是不希望的,因为您不希望将其他元素滚动到屏幕之外。
现在我可以通过在ScrollView 中添加其他可聚焦元素来阻止屏幕首次显示时发生这种情况。但是,普遍的问题仍然存在。用户手动向下滚动到EditText,输入一些数字,然后向上滚动到顶部(EditText 现在不在屏幕上),他们单击ScrollView 中的一个按钮,你猜怎么着? ScrollView 向下滚动到该死的 EditText。
我正在考虑扩展 ScrollView 并覆盖其中的一些方法,例如 findFocusableViewInBounds,但我觉得我只会让自己陷入更多麻烦。
如果可以,请提供帮助。
我玩过一些事情,比如在我的ScrollView 顶部有一个 0 高度 EditText,将 Next Focusable 元素属性添加到 ScrollView 中的其他项目,等等。我想是一个“黑客”可能是让EditText 在虚拟或手动键盘被隐藏或其他情况下失去焦点。
【问题讨论】:
标签: android android-edittext scrollview autoscroll