Kivy 键盘高度

0 投票
1 回答
2219 浏览
提问于 2025-04-18 10:50

我正在用Kivy创建一个应用程序,我想知道键盘的高度,这样我就可以相应地调整界面上的控件。我听说plyer这个工具很不错,可以在不同平台上使用(我想为Android和iOS(还有Windows手机)开发),不过它似乎不支持键盘的控制。

我该如何在Android(和iOS)上获取键盘的高度信息呢?我用的是Python 3编程(如果你知道Python 2.7也可以)。如果直接写死键盘的高度就不好,因为不同设备的键盘高度是不一样的。

1 个回答

2

主分支里有一些新功能,可以帮助你管理这个问题。使用 Windowfrom kivy.core.window import Window)你可以做到以下几点:

  • Window.keyboard_height 可以获取当前软件键盘的高度。
  • Window.softinput_mode 可以设置为几种模式:''(空),这时你可以像上面那样使用键盘高度;'pan',这时Kivy的视图会向上移动,避免键盘遮挡;或者 'resize',这时Kivy的视图会调整大小,以适应键盘顶部和屏幕顶部之间的空间。

这些内容可以在 Window 的文档中找到。

不过在当前的稳定版本中,实际上没有很好的方法来实现这个功能,但你可以尝试用pyjnius来调用pan或resize模式。

撰写回答