问题描述
我使用的是 python 3.8.6 和 kivy 2.1.0。
当文本输入框获得焦点时,键盘弹出并覆盖文本输入框。我添加了下面的 2 行来强制键盘位于目标 TextInput 框下方,但它没有按预期工作。
Window.keyboard_anim_args = {"d":.2,"t":"linear"}
Window.softinput_mode = "below_target"
我也试过“平移”和“调整大小”。代码运行时没有错误,但这些设置对行为没有任何影响,所以我确定我遗漏了一些明显的东西,但对我来说并不明显:-(。非常感谢任何帮助。完整的代码如下:
from kivy.app import App
from kivy.core.window import Window
from kivy.uix.button import Button
from kivy.uix.textinput import TextInput
from kivy.uix.Boxlayout import BoxLayout
from kivy.config import Config
Window.keyboard_anim_args = {"d":.2,"t":"linear"}
Window.softinput_mode = "below_target"
#Window.softinput_mode = 'pan'
#Window.softinput_mode = 'resize'
class Clearapp(App):
def build(self):
self.Box = BoxLayout(orientation='horizontal',spacing=10)
self.txt = TextInput(hint_text='Write here',keyboard_mode='auto',size_hint=(.5,.1))
self.btn = Button(text='Clear All',on_press=self.clearText,size_hint=(.1,.1))
self.Box.add_widget(self.txt)
self.Box.add_widget(self.btn)
return self.Box
def clearText(self,instance):
self.txt.text = ''
'''
if Config:
_is_desktop = Config.getboolean('kivy','desktop')
_keyboard_mode = Config.get('kivy','keyboard_mode')
if _is_desktop:
Config.set('kivy','keyboard_mode','system')
Config.write()
else:
Config.set('kivy','systemanddock')
Config.write()
'''
Config.set('kivy','dock')
Config.write()
Clearapp().run()
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)