나는 지금까지 인터넷에서 아무것도 찾지 못했습니다, 내가 알고 싶은 것은 그 방향에 따라 kivy의 현재 화면을 바꿀 수 있는지입니다. 휴대 전화의 화면 (가로 또는 세로) 및 수행 방법 또는 적어도 하나의 튜토리얼에 대한 링크가 나 자신을 찾을 수 없기 때문에.파이썬/키비 - 전화 화면 방향 (안드로이드)과 화면을 변경
1
A
답변
2
나는 안드로이드 장치의 방향을 인식하여 이것을하는 방법을 찾지 못했습니다. 그러나 다음 프로그램은 창의 높이와 너비를 비교하여 내용을 변경합니다. 프로그램의 라벨이 동적으로 변경되므로 너비가 더 커지면 (가로 모드) 레이블의 높이가 더 높을 때 (세로 모드) 라벨의 텍스트가 달라집니다. 현재 Windows에서 작동하지만 안타깝게도 Android 시스템을 구축 할 Linux 시스템이 없습니다. 이론적으로는 효과가 있지만 100 % 확실하지는 않습니다.
from kivy.app import App
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.label import Label
from kivy.graphics import Rectangle, Color
class MainScreen(FloatLayout, Label):
"""MAIN WINDOW CLASS"""
def __init__(self, **kwargs):
super(MainScreen, self).__init__(**kwargs)
with self.canvas.before:
Color(0.988, 0.725, 0.074, 1, mode='rgba')
self.rect = Rectangle(pos=self.pos, size=self.size)
self.bind(size=self.update_rect)
self.titlos = Label(text="",
bold=True,
text_size=(None,None),
font_size="20sp",
pos_hint={'center_x': 0.5, 'center_y': .85},
size_hint_y=None,
size = self.size,
height=self.texture_size[1],
halign="center",
valign = "middle",
color=(0.055, 0.235, 0.541, 1))
self.add_widget(self.titlos)
self.bind(size=self.update_orientation)
def update_rect(self, *args):
"""FUNCTION TO UPDATE THE RECATANGLE OF CANVAS TO FIT THE WHOLE SCREEN OF MAINSCREEN ALWAYS"""
self.rect.pos = self.pos
self.rect.size = self.size
def update_orientation(self, *args):
"""FUNCTION TO UPDATE THE SCREEN CONTENTS WHEN THE WINDOW SIZE CHANGES"""
if self.parent.size[1] > self.parent.size[0]:
self.titlos.text = "This is\nPortrait\nOrientation"
else:
self.titlos.text = "This is Landscape Orientation"
# This is just for checking. Not essential to the program.
print("Width:", self.parent.size[0], ", Height:", self.parent.size[1])
class main(App):
"""BUILDING THE APP"""
def build(self):
return MainScreen()
if __name__ == "__main__":
main().run()
당신은 당신이 때 방향 변경을 변경해야 무엇이든 포함 할 update_orientation
기능을 사용할 수 있습니다.
관련 문제
- 1. Qt 화면 방향 변경
- 2. 화면 방향 변경 핸들
- 3. android ViewSwitcher 화면 방향 변경
- 4. 전화 걸기의 방향 변경
- 5. 화면 방향 변경
- 6. ANDROID 화면 방향 변경
- 7. Android - 화면 방향 변경
- 8. 화면 방향 변경 문제 : onCreate
- 9. 외부 키보드가있는 전화. 변경 방향 변경 방지
- 10. 안드로이드 전화 걸기 화면 변경
- 11. 화면 방향 변경 후 활동 계속 - Android
- 12. Android WindowManager에서 화면 방향 변경
- 13. 블랙 베리 화면 방향 변경
- 14. 조각 및 화면 방향 변경
- 15. ReactJS의 화면 방향 변경 처리
- 16. 런타임 중 화면 방향 변경
- 17. 안드로이드 - 에뮬레이터 화면 방향 변경
- 18. 폰갭 - 방지 화면 방향
- 19. Android VideoView 방향 변경
- 20. Symbian/Qt에서 전화 방향 변경 감지 문제
- 21. 방향 변경 처리 안드로이드
- 22. Android Fragments의 화면 방향
- 23. Windows 전화 방향 감지
- 24. 안드로이드 핸들 방향 변경, 회전 화면 없음
- 25. 안드로이드 : 화면 방향 변경 fragment.getActivity에 null의
- 26. RxJava Android 처리 화면 방향 변경
- 27. Android : 화면 방향 변경 후 조각 복원
- 28. 화면 방향 변경시 Android NullPointerException 변경
- 29. 라이브 벽지의 화면 방향 변경 금지
- 30. 화면 방향 변경 후 조각 다시 설정
예, 알고 있었지만 현재 화면이 바뀌거나 방향에 따라 레이아웃이 바뀌도록 만들 수 있다면 휴대 전화의 계산기가 과학적으로 어떻게 바뀌 었는지 알 수있었습니다. 당신은 풍경 모드로 전화를 플립? 그게 무슨 뜻인지 –
@ HussamAl-hassan 그때는 아주 좋은 질문입니다. 나는 전에 이것을 시험해 보지 않았지만 그것을 찾을 것입니다. 우리보다 먼저 답을 찾으면 여기에 게시하십시오. –
좋아요, 소리가 아주 좋아요, 아픈 답을 찾으세요. –