我刚用kivy做了一个apk应用程序。在代码中,我根据屏幕的比例定义了所有小部件的位置。但是,当我旋转屏幕时,例如,从纵向到横向,绝对坐标仍然保持不变,并且它不能很好地适应。
是否有方法来识别是否正在显示肖像或风景?我需要这个,以便在用户旋转手机时重新定义我的小部件的位置。
答案 0 :(得分: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
答案 1 :(得分:0)
最好不要使用绝对坐标,而是使用kivy的布局类来实现相对定位(你也可以手动指定相对定位但是更难更冗长,如果你这样做,你只是重新发明布局。)
在任何情况下,你问题的直接答案是你可以调用一个android api函数来获取你想要的方向,或者实际上你可能会特别关注{{ {1}}