kivy的textinput有几个问题
#第一,无法正确换行
当文本较长,在中间插入或删除时可以看见它无法正确处理换行。这里采取的解决方案(每次插入或删除时都重排一次)并不完美,但可以在文本不是太多时正常工作。请下载文末参考文档【0】并替换文件。
#android按以下路径替换:
python-for-android/dists/myapp/private/lib/python2.7/site-packages/kivy/uix/textinput.pyo
python-for-android一般在你的用户目录: .local/share/python-for-android
#ios按以下路径替换:
kivy-ios/dist/root/python/lib/python2.7/site-packages/kivy/uix/textinput.pyo
kivy-ios是你运行./toolchain.py的那个目录
#第二,无法重新唤起输入法
通过继承TextInput并覆盖on_touch_down事件来实现自己的MyTextInput
def on_touch_down(self, touch):
if self.focus:
if platform=='android' and android.get_keyboard_height()<150:
self.focus=False
self.focus=True
elif platform=='ios' and ios.get_kheight()<150:
self.focus=False
self.focus=True
return super(MyTextInput, self).on_touch_down(touch)
#参考文档:
【0】资源链接 https://pan.baidu.com/s/11vw_T1p9dkkQZDuKsmh1yg