安卓键盘滑动动画

5

我在 Android 中没有(几乎没有)动画方面的经验,但我想为键盘出现时实现一种动画效果。实际上,整个活动似乎是向上滑动的(就像键盘在活动下方并将其向上推动一样),而不仅仅是向上移动所选的 EditText

有人知道怎么做吗?


1
在你的清单文件中使用 android:uiMode="pan"。 - njzk2
2个回答

7
在最新的Android操作系统(Android 11版本)中,他们添加了一组新的API,让您可以将应用程序的内容与IME(输入法编辑器,也称软键盘)和系统栏同步,当它们在屏幕上动画时,使创建自然,直观和无卡顿的IME转换变得更加容易。

WindowInsetsAnimation.Callback

为了实现帧完美的过渡效果,一种新的插图 动画监听器 会在系统栏或输入法动画时通知应用程序有关插图的每帧更改。

enter image description here

WindowInsetsAnimationController

应用可以通过WindowInsetsAnimationController API控制IME和系统栏的过渡效果。

enter image description here


那么关于 Android <11,有很多用户使用 Android <11 吗? - famfamfam

3
一款应用程序无法收到键盘出现的通知,安卓框架本身负责滑动应用程序或重新布局。因此,自定义实际上是不可能的。这也许是一件好事——键盘是一个独立的应用程序,我写过这样的应用程序,我甚至不想尝试编写这样一个动画的键盘部分,因为有各种各样的方式应用程序可以做到这一点,我们永远不会使它看起来正确。 最接近的方法是在打开键盘时指定要平移而不是调整大小的字段。

我该怎么做呢? - Aneesh Ashutosh
android:windowSoftInputMode="adjustPan"安卓:窗口软输入模式="调整面板" - Gabe Sechan
默认不是这样吗?我已经指定了,但什么也没改变。 - Aneesh Ashutosh
我真的不知道默认值是什么。但那是你可以对其进行的唯一调整。另一个选项是adjustResize,它会导致您的应用程序被缩小以适应键盘上方的空间。 - Gabe Sechan
实际上,我一直在尝试使用不同类型的值,但似乎没有任何变化。很奇怪。 - Aneesh Ashutosh
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接