停止ScrollView从自动滚动到EditText
||
没有找到很好的解决方案,这似乎是一个常见的问题。目标是阻止ѭ0auto自动滚动到具有焦点的
EditText
(或与此相关的任何视图)。
您在ScrollView
中有很多视图(Button
、,3ѭ等),其中一个是is1ѭ。单击“ 0”中的“说一个按钮”后,“ 0”向下滚动到“ 1”(屏幕外)。这是不希望的,因为您不希望将其他元素滚动到屏幕之外。
现在,我可以在ScrollView
中包含其他可聚焦元素来阻止在屏幕首次显示时发生这种情况。但是,一般问题仍然存在。用户手动向下滚动到ѭ1,输入一些数字,然后向上滚动到顶部(现在屏幕上移出EditText
),然后单击ScrollView
中的按钮,您猜怎么着? ScrollView
向下滚动至该1ѭ。
我正在考虑扩展ѭ0并覆盖其中的某些方法(例如findFocusableViewInBounds
),但是我有种感觉,我只会惹上更多麻烦。
如果可以的话请帮忙。
我一直在玩这样的事情,例如在我的ScrollView
的顶部具有高度0的EditText
,在Focus0ѭ的其他项中添加Next Focusable元素属性,等等。我想一个\“ hack \”可能是为了获得EditText
隐藏虚拟或手动键盘或其他东西时会失去焦点。
没有找到相关结果
已邀请:
21 个回复
芭隘的盘石
(直接)包含您的
,还是将
设置为\“ Before Descendants \”,“24ѭ设置为\” true \“,并将
设置为\” true。\“,这将不是
本身,但是里面有各种视图的布局。接下来,在您的
上添加一个
,只要触摸
就会将焦点移开,就像这样:
告诉我这是否不能解决问题。应该发生的是布局获得焦点而不是
,因此不会发生滚动。
邵酮
单线解决问题
需复
墩瓣茅械
咖哀烈
主布局在那里。
将不会自动对焦。
茂坦湿床够
原因是在这种情况下,您必须使所有其他视图在滚动视图内可聚焦,分别由显式的
和
聚焦。这应该在每次IMO时都有效
凸晴
董碘奴星
痴浪墨
荤碗
魄龟呸筹
古擅坛犯
您可以像下面这样在XML中使用它:
绵扇寸访
(通常具有焦点,但我不希望它失去焦点)。任何时候单击按钮,滚动视图都会自动滚动到焦点ѭ1。覆盖
并始终返回
(default21ѭ的默认行为)可以解决问题。希望它也对您的情况有所帮助。
咳累录酬
然后,您的xml文件将如下所示:
断跑胺弄萎
甲车劲
在根视图中也添加了此内容:
也许它不是很好的解决方案,但是可以正常工作。
辅奈
或
。
期差骇蓟
的ѭ61to保持当前所需滚动位置的尝试都被Android完全否决了! 我分享我的解决方案,希望它可以为其他人节省8(八)小时的浪费。
烫珊
所有学分归功于这个原始答案。
膏焦凑
屡倒雷图
属性添加到包含LinearLayout的ScrollView \中,值为
。 例如: