【问题标题】:Forcing a Kivy widget's orientation to be landscape/portrait强制 Kivy 小部件的方向为横向/纵向
【发布时间】:2016-04-15 06:09:35
【问题描述】:

我正在开发一个应用程序,我希望 ScreenManager 的屏幕之一处于横向。我不希望它自己变成垂直的。截至目前,我了解到只有 buildozer.spec 文件可以改变应用程序的方向。我想要的是改变小部件的方向。有没有办法做到这一点?

【问题讨论】:

标签: android python-2.7 kivy kivy-language


【解决方案1】:

您可以将屏幕内容放在分散布局上,然后旋转它:

test.kv:

ScreenManager:

    Screen:
        name: 'normal'

        Grid

    Screen:
        name: 'flipped'

        ScatterLayout:
            do_rotation: False
            do_scale: False
            do_translation: False
            rotation: 90
            pos_hint: {'center_x': 0.5, 'center_y': 0.5}
            size_hint: None, None
            size: root.height, root.width

            Grid


<Grid@GridLayout>:
    cols: 1

    Button:
        text: 'normal'
        on_press: app.root.current = 'normal'
    Button:
        text: 'flipped'
        on_press: app.root.current = 'flipped'

main.py:

#!/usr/bin/env python2
# -*- coding: utf-8 -*-
from kivy.app import App


class Test(App):
    pass


Test().run()

@编辑 还有plyer的Orientation。

【讨论】:

  • Plyer 的方向看起来可能会有所帮助。谢谢。
  • 似乎 Plyer 的方向仅适用于 Android。 ScatterLayout 是否适用于 iOS?
  • @Pyzard ScatterLayout 无处不在,它只是一个小部件。
猜你喜欢
  • 2015-12-30
  • 2011-02-14
  • 1970-01-01
  • 2013-09-28
  • 1970-01-01
  • 2012-07-21
  • 2021-03-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多