0

我刚刚使用 kivy 制作了一个 apk 应用程序。在代码中,我根据屏幕的比例定义了所有小部件的位置。但是,当我将屏幕从纵向旋转到横向时,绝对坐标仍然保持不变,并且不太适合。

有没有一种方法可以识别正在显示的是纵向还是横向?当用户旋转手机时,我需要这个来重新定义我的小部件的位置。

4

2 回答 2

1

使用 pyjnius 是很有可能的。

from jnius import autoclass

activity = autoclass('org.kivy.android.PythonActivity').mActivity
config = activity.getResources().getConfiguration()

print('Orientation :', config.orientation)

# 1 is potrait 2 is landscape
于 2019-02-11T11:37:39.133 回答
0

最好不使用绝对坐标,而是使用 kivy 的布局类来实现相对定位(您也可以手动指定相对定位,但这更难更冗长,如果你这样做,你只是在重新设计布局它)。

无论如何,对您的问题的直接回答是,如果您真的需要,您可以调用一个 android api 函数来获取方向,或者实际上您可能特别关心由kivy.core.window.Window.size

于 2015-09-24T09:41:27.363 回答