【问题标题】:Rounding corners of image inside KivyMD CardKivyMD 卡内图像的圆角
【发布时间】:2021-04-03 20:49:40
【问题描述】:

我想在图像上添加高程效果。所以我基本上将它添加到 MDCard 中。现在图像看起来很好,但我想让图像的角变圆。因此,我尝试将 MDCard 的角设置为圆形,但图像在完全拉伸时会伸出盒子。

看起来像这样:

但我希望它有这样的圆角,但图像完全拉伸

但是当我拉伸图像时,图像角会覆盖 MDCard 的圆角 这是我正在使用的代码部分:

    song_image = AsyncImage(source=self.image_url, pos_hint={"center_x":0.5, "center_y":0.5}, allow_stretch=True)
    card = MDCard(orientation='vertical', border_radius= 20, radius= [15], pos_hint={"center_x":0.5, "center_y":0.65}, size_hint=(None, None), size=(Window.size[0]*0.9, Window.size[0]*0.9))
    card.add_widget(song_image)
    self.details_screen.add_widget(card)

知道怎么做吗?或任何其他方式在不使用 kivyMD 卡的情况下制作带有高度的圆角

【问题讨论】:

    标签: python python-3.x kivy kivy-language kivymd


    【解决方案1】:
    from kivy.uix.modalview import ModalView
    from kivy.lang import Builder
    
    from kivymd import images_path
    from kivymd.app import MDApp
    from kivymd.uix.card import MDCard
    
    Builder.load_string(
        '''
    <Card>:
        elevation: 10
        radius: [36, ]
    
        FitImage:
            id: bg_image
            source: "images/bg.png"
            size_hint_y: .35
            pos_hint: {"top": 1}
            radius: [36, 36, 0, 0, ]
    ''')
    
    
    class Card(MDCard):
        pass
    
    
    class Example(MDApp):
        def build(self):
            modal = ModalView(
                size_hint=(0.4, 0.8),
                background=f"{images_path}/transparent.png",
                overlay_color=(0, 0, 0, 0),
            )
            modal.add_widget(Card())
            modal.open()
    
    
    Example().run()
    

    【讨论】:

    • 我试过了,但图像仍然没有圆角。只有 MDCard 有圆角,所以当图像适合卡片时,它只会覆盖角落,看起来不再圆
    • 从 master 分支更新 KivyMD 库。
    • 你能解释一下如何在我的 buildozer.spec 文件中更新它吗?我猜在导出 buildozer 时使用的是 pip 版本。我试着写 KivyMD==... 但得到错误说没有找到版本。我什至下载了该文件夹并给出了自定义要求的路径,但我想我做错了什么,因为它没有检测到它。我还通过删除 .builder 重建了整个 apk
    • requirements=kivy, git+https://github.com/kivymd/KivyMD.git@master, ...
    • 使用最新版本后图标丢失。我是否必须包含其他内容才能获得图标?
    猜你喜欢
    • 2022-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-30
    • 1970-01-01
    相关资源
    最近更新 更多