我最近开始使用kivy框架.我刚刚制作了一个简单的计算器应用程序.我已经成为了一个.apk并在android上运行它,但我有一个问题.
当屏幕同时手动锁定时,应用程序会自动关闭,丢失之前引入的所有数据(数字),因此我必须再次启动它并重新引入数字.
我的问题是,如果你知道一些方法来避免这种情况.如果需要python代码或kv语言文件上的一段代码.我不知道,但我希望当屏幕锁定并解锁时,应用程序会保留其先前的状态.
PS:我也试过从kivy启动器启动应用程序,没有先前的.apk编译,但我得到了相同的结果,所以我认为这将是python代码或kv语言代码的麻烦,而不是麻烦在使用buildozer工具打包应用程序的过程中.
如果我想on_press在任何程序中向弹出窗口添加事件,我可以直接在python中或使用kv语言.
例如,如果我使用Python
from kivy.app import App
from kivy.uix.popup import Popup
from kivy.uix.button import Button
class SomePopup(Popup):
pass
class SomeBox(Box):
popup = SomePopup()
popup.title = 'anything'
popup.content = Button(text='anytext', on_press=popup.dismiss)
Run Code Online (Sandbox Code Playgroud)
在KV语言中,假设我制作相同的弹出窗口,它将是.
<SomePopup>
title: 'anything'
content: popupContent
Button:
id: popupContent
text: 'anytext'
on_press: root.dismiss()
Run Code Online (Sandbox Code Playgroud)
所以,在python中,我必须使用on_press=popup.dismiss和kv语言on_press: root_dismiss()
我不明白为什么在kivy语言中我应该使用括号而不是python.请问你能帮帮我吗?