使用kivy textinput的'input_type'属性时出现问题

4

你好,我遇到了使用Kivy的TextInput小部件的input_type属性的问题。我创建了两个自定义文本输入,一个名为StrText,其中我设置input_type = 'text'。然后第二个文本输入名为NumText,输入类型为'number'。

我在手机上使用Kivy Launcher进行了测试,并注意到一旦我点击NumText输入并带来数字键盘,如果我点击StrText,它会带来相同的数字键盘,而不是正常的文本键盘。如果你稍微操作一下,你会发现大多数时间都返回数字键盘。

请问我的代码有什么问题吗?或者我该如何修复它?您将在以下找到我的代码

main.py

from kivy.app import App
from kivy.uix.bubble import Bubble
from kivy.core.window import Window

class  BubbleApp(App):
    pass

if __name__ == '__main__':
    Window.fullscreen = False
    BubbleApp().run()

bubble.kv

GridLayout:
    cols: 1
    StrText:
        height: '48dp'
        size_hint_y: None

    Label:
        text: 'Number keyboard below'
        height: '48dp'
        size_hint_y: None
        multiline: False
        font_size: self.height * .5

    NumText:
        height: '48dp'
        size_hint_y: None


<StrText@TextInput>:
    input_type: 'text'
    multiline: False
    font_size: self.height * .5

<NumText@TextInput>:
    input_type: 'number'
    input_filter: 'int'
    multiline: False
    font_size: self.height *.5

你使用什么类型的键盘?默认的安卓键盘、三星键盘还是一些自定义键盘? - Peter Badida
尝试将其更改为默认键盘,如果可以的话。 - Peter Badida
刚刚做完了,而且它完美地运行。 - Oaks-view
现在你知道为什么它不工作了 - 问题出在自定义键盘上。我很久以前也遇到过同样的问题 :-/ - Peter Badida
谢谢。这是否意味着,如果我制作了一个应用程序,并且用户选择了自定义键盘,则会出现此问题?最好根本不使用它。 - Oaks-view
显示剩余5条评论
1个回答

0

最近我在使用Kivy1.10.0构建我的应用程序时遇到了类似的问题。我在安卓上使用了默认的键盘应用,但它仍然不断地从数字键盘切换到文本键盘

这一次,我尝试使用kivy==1.9.1、Cython==0.23.1和buildozer==0.32来构建.apk文件,结果成功了。

注意:

我建议创建一个虚拟环境来安装上述特定的软件包,并使用它来创建.apk文件。

virtualenv build32env
source build32env/bin/activate
pip install buildozer==0.32 Cython==0.23.1

执行buildozer init后,请确保更改buildozer.spec文件:

requirements = kivy

requirements = kivy==1.9.1

否则,它将使用最新的kivy版本来构建.apk文件。 有关buildozer的更多详细信息 希望能对其他人有所帮助!

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