gpt4 book ai didi

android - ScrollView 向下滚动并在点击 EditText 以获得焦点时突然向上滚动

转载 作者:行者123 更新时间:2023-11-30 02:13:25 25 4
gpt4 key购买 nike

我有一个 ScrollView 。在其中,我有类似卡片的布局,其中包含 EditText。我的问题是,当我向上滚动 ScrollView 并点击其中一张卡片中的一个 EditText 时,ScrollView 首先向下滚动,然后突然再次向上滚动,就像 EditText 被 SoftKeyboard 覆盖一样。只有在 EditText 中有焦点时才会发生这种情况。如果已经有焦点,则 View 重新排列仅在 EditText 被软键盘覆盖时发生。

I understand the scrolling up of ScrollView when the EditText is being covered with SoftKeyboard. But, why the scrollview tries to re-arrange the position of the EditText even it is not being covered with SoftKeyboard ?

用户仍然可以看到他正在输入的内容。但是,这会损害用户体验。

我正在为“windowsSoftInputMode”使用“adjustPan”。但是,我已经尝试了此属性中可用的任何内容。是一样的。

我什至尝试在单独的布局中复制 ScrollView 作为根容器和一堆 EditText。但是,它工作正常。

The weirdest thing is that scrolling down and suddenly scrolling up back (mentioned above) doesn't happen on the topmost card.

我想了解的是,如果 EditText 必须请求 requestFocus,当用户点击时还没有焦点时, View 如何在 ScrollView 上发生重新排列。

如果您以前遇到过这种怪事,请告诉我。

最佳答案

如果有人遇到过这种情况,以下是我在患病近 2 天后发现的情况。

发生这种情况的原因是我正在使用 translationY 为卡片的移动设置动画。当卡片的 translationY 值与容器内定义的卡片的实际位置相同时(包括 topMargin 和高度),当您将焦点放在进入这种容器内的 EditText 时,ScrollView(卡片的根容器)突然移动(将 EditText 插入屏幕底部,然后将 EditText View 推回到 SoftKeyboard 的顶部)。

我仍然不知道为什么会这样。但是,我确实相信 requestFocus 方法实现与 translationY 值 有关,以确保 View 位于 SoftKeyboard 之上。

关于android - ScrollView 向下滚动并在点击 EditText 以获得焦点时突然向上滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29786797/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com