2016-09-10 8 views
2

저는 한 방향에서 다른 방향으로 안드로이드 장치 회전을 캡처하기 위해 Kivy 솔루션을 찾고있었습니다. 아래의 두 창 방법을 모두 시도했지만 장치를 회전해도 on_rotate 또는 rotate_screen 루틴을 실행하지 않습니다. java에 onConfigurationChanged 이벤트가 있지만 Kivy에 대한 동일한 이벤트 처리를 찾을 수 없습니다.Kivy에서 Android에서 화면 회전을 감지하는 방법은 무엇입니까?

Window.on_rotate(self.on_rotate) 
    Window.bind(on_rotate=self.rotate_screen)   

내가 logcat에 들어오는 메시지는 다음과 같습니다. 기기가 회전했지만 내 앱에는 이러한 이벤트가 표시되지 않습니다.

I/InputReader(270): Reconfiguring input devices. changes=0x00000004 
I/InputReader(270): Device reconfigured: id=3, name='ilitek_i2c', surface size is now 1280x800, mode is 1 
I/ActivityManager(270): Config changed: {1.0 0mcc0mnc en_US sw800dp w1280dp h752dp xlrg land finger -keyb/v/h -nav/h s.8} 

답변

0

나는 on_rotate가 Kivy의 내부 회전 만 추적한다고 생각합니다 (이것은 OpenGL에서 수행되며 Android 레벨 회전과 관련이 없습니다).

보통 pyjnius를 사용하여 일반적인 Java 메소드로 작업 할 수 있지만 자세한 내용은 알지 못합니다. 마찬가지로 잘 작동하는 간단한 해결책은 Window.size (from kivy.core.window import Window)을 보는 것입니다. 이렇게하면 세로에서 가로로 변경 사항이 감지됩니다.