【问题标题】:TextInput Bubble doesn't stay on long touch: KivyTextInput Bubble 不会保持长时间触摸:Kivy
【发布时间】:2020-10-08 03:31:29
【问题描述】:

当我在 Android 应用(通过 Kivy 构建)上长按 TextInput 时,气泡会出现一秒钟然后消失。

我正在研究 Kivy 的 TextInput 并了解它是如何工作的。我在 kivy 应用程序中添加了一个简单的 TextInput 并尝试从我的剪贴板粘贴一些内容。当我长按 TextInput 时,android 气泡只出现一秒钟(或者可能不到一秒钟)然后消失。

我在这个论坛上读到了关于use_bubble: True

我也将此添加到我的 .kv 文件中,但也不起作用。

请帮忙。

Label:
    text:"Enter text to be encoded"
TextInput:
    id:obox
    use_bubble:True
    foreground_color:(1,0,0,1)
    multiline:True
    on_touch_down: if self.collide_point(*args[1].pos): self.text = ""

【问题讨论】:

  • 谁能帮我解决这个问题。
  • 没有谁可以帮忙吗??

标签: android python kivy


【解决方案1】:

在您的 main.py 文件中添加以下代码

class CustomTextInput(TextInput):
    def _hide_cut_copy_paste(self, win=None):
        bubble = self._bubble
        if not bubble:
            return
        #bubble_hide()

在 .kv 文件中使用 CustomTextInput 而不是 TextInput

【讨论】:

    【解决方案2】:

    泡沫的关闭可能有几个原因:

    • 按键(仅限有趣的键,例如 Escape)
    • 鼠标或触摸移动、滚动或按钮按下
    • 更改文本输入小部件中的光标位置
    • 更改焦点(到 textinput 或任何其他小部件)

    我建议使用调试器在 TextInput 小部件的 _hide_cut_copy_paste 方法用于 确定关闭泡沫的原因。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-13
      • 2021-11-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多