在屏幕中间插入图像Kivy Python

时间:2016-04-24 09:40:39

标签: python image kivy

我正在做一个Kivy App,但我有一个问题。我想在屏幕上添加图像,但我不知道如何将它放在屏幕中间。事实是,我希望图像像浮动布局一样工作(适应屏幕,自动调整大小)。我认为这与使标签或按钮居中的过程相同,但我已经意识到它并非如此。我在这里插入了我一直在使用的Kivy语言代码。

<FloatLayout>
canvas.before:
    Color:
        rgba: 0.5, 0.5, 0.5, 0.1

    BorderImage:
        # BorderImage behaves like the CSS BorderImage
        border: 10, 10, 10, 10
        source: '../examples/widgets/sequenced_images/data/images/button_white.png'
        pos: self.pos
        size: self.size

    Rectangle:
        source: 'etseib.png'
        size: 400, 400
        pos: (400,400)

如果有人知道如何解决问题,那将会非常有帮助。

2 个答案:

答案 0 :(得分:1)

要将小部件置于屏幕中间,请使用anchor layout

Screen:

    AnchorLayout:
        anchor_x: 'center'
        anchor_y: 'center'

        Image:
            source: 'logo.png'
            size_hint: None, None
            size: 400, 400
            # size: self.texture_size[0] / 2, self.texture_size[1] / 2
            # opacity: 0.1

没有锚布局的版本:

Screen:

    Image:
        source: 'image.png'
        keep_ratio: False
        allow_stretch: True
        opacity: 0.8
        size_hint: 0.3, 0.4
        pos_hint: {'center_x': 0.5, 'center_y': 0.75}

答案 1 :(得分:-1)

添加行:1

<FloatLayout>
canvas.before:
    Color:
        rgba: 0.5, 0.5, 0.5, 0.1

    BorderImage:

        rows: 1
        border: 10, 10, 10, 10
        source: '../examples/widgets/sequenced_images/data/images/button_white.png'
        pos: self.pos
        size: self.size

    Rectangle:
        source: 'etseib.png'
        size: 400, 400
        pos: (400,400)