Pau*_*aul 2 python android kivy
最近我尝试了kivy,但遇到了几个问题。感谢帮助。
首先,我的 kivy 程序在 Android 上运行时总是旋转屏幕。通常 Android 上的状态栏位于顶部,当我运行 kivy 时,它会转到右侧。
我的 Android 上启用了屏幕旋转,但是当我旋转手机时,kivy 程序的方向不会改变。
我也尝试通过 Window.rotation = 90 旋转窗口,但状态栏的位置没有改变。
程序非常简单:
主要.py:
from kivy.app import App
from kivy.uix.widget import Widget
class PongGame(Widget):
pass
class PongApp(App):
def build(self):
return PongGame()
if __name__ == '__main__':
PongApp().run()
Run Code Online (Sandbox Code Playgroud)
乒乓球:
<PongGame>:
canvas:
Rectangle:
pos: self.center_x - 5, 0
size: 10, self.height
Label:
font_size: 70
center_x: root.width / 4
top: root.top - 50
text: "0"
Label:
font_size: 70
center_x: root.width * 3 / 4
top: root.top - 50
text: "0"
Run Code Online (Sandbox Code Playgroud)
谢谢。
首先,我的 kivy 程序在 Android 上运行时总是旋转屏幕。通常 Android 上的状态栏位于顶部,当我运行 kivy 时,它会转到右侧。
这是 中的一个选项buildozer.spec,只需将方向线更改为 即可orientation = all。您还可以阅读所有其他行的注释以查看其他选项。
您还可以通过直接使用 pyjnius 调用 android api 来设置更多方向选项(包括例如可选地遵守用户的系统设置等)。我在这里有一些示例代码。plyer中可能会出现类似的内容。
如果您直接使用 python-for-android,则orientation选项是您可以传递给build.py的命令行参数之一。我不记得了,但你可以查看文档 - 尽管我还是建议使用 buildozer。