Python-for-android
Turn your Python application into an Android APK
Android 화면 크기 구하기
검증은 나중에 따로 해보자.
DisplayMetrics = autoclass('android.util.DisplayMetrics')
Context = autoclass('android.content.Context')
PythonActivity = autoclass("org.kivy.android.PythonActivity")
metrics = DisplayMetrics()
a = PythonActivity.mActivity
wm = a.getSystemService(Context.WINDOW_SERVICE)
d = wm.getDefaultDisplay()
d.getMetrics(metrics)
또는
from kivy.lang import Builder
from kivy.app import App
from jnius import autoclass
PythonActivity = autoclass("org.kivy.android.PythonActivity")
activity = PythonActivity.mActivity
displayMetrics = activity.getContext().getResources().getDisplayMetrics()
KV = '''
Screen:
BoxLayout:
id: container
orientation: 'vertical'
padding: dp(10)
spacing: dp(10)
Label:
id: lbl
halign: 'center'
Widget:
'''
class Test(App):
def __init__(self, **kwargs):
super().__init__(**kwargs)
self.screen = Builder.load_string(KV)
self.screen.ids.lbl.text += f'Width: {self.get_screen_width_dpi()}\n'
self.screen.ids.lbl.text += f'Height: {self.get_screen_height_dpi()}\n'
self.screen.ids.lbl.text += f'DPI: {displayMetrics.densityDpi}\n'
@staticmethod
def get_screen_width_dpi():
return displayMetrics.widthPixels / displayMetrics.density
@staticmethod
def get_screen_height_dpi():
return displayMetrics.heightPixels / displayMetrics.density
def build(self):
return self.screen
Test().run()