es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

La funcionalidad de deslizamiento de la tarjeta MDCardSwipe no está funcionando.

No puedo hacer que MDCardSwipe funcione. Incluso el código de ejemplo tomado directamente de la documentación en kivymd.uix.card no funciona en mi máquina.

from kivy.lang import Builder
from kivy.properties import StringProperty

from kivymd.app import MDApp
from kivymd.uix.card import MDCardSwipe

KV = '''
<swipetodeleteitem>:
    size_hint_y: None
    height: content.height

    MDCardSwipeLayerBox:
        # Contenido debajo de la tarjeta.

    MDCardSwipeFrontBox:

        # Contenido de la tarjeta.
        OneLineListItem:
            id: content
            text: root.text
            _no_ripple_effect: True

MDScreen:

    MDBoxLayout:
        orientation: "vertical"
        spacing: "10dp"

        MDToolbar:
            elevation: 10
            title: "MDCardSwipe"

        ScrollView:
            scroll_timeout : 100

            MDList:
                id: md_list
                padding: 0

'''

class SwipeToDeleteItem(MDCardSwipe):
    '''Tarjeta con comportamiento de <code>swipe-to-delete</code>. '''

    text = StringProperty()

class TestCard(MDApp):
    def __init__(self, **kwargs):
        super().__init__(**kwargs)
        self.screen = Builder.load_string(KV)

    def build(self):
        return self.screen

    def on_start(self):
        '''Crea una lista de tarjetas.'''

        for i in range(20):
            self.screen.ids.md_list.add_widget(
                SwipeToDeleteItem(text=f"One-line item {i}")
            )

TestCard().run()

El código anterior en mi máquina crea las tarjetas en una lista, pero no hay funcionalidad de deslizamiento. También he intentado jugar con swipe_distance y swipe_type pero no he podido hacer que la funcionalidad de deslizamiento funcione nunca.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que estás teniendo problemas para hacer funcionar la funcionalidad MDCardSwipe en tu máquina, incluso con el código de muestra de la documentación dentro de kivymd.uix.card. También has intentado ajustar la distancia de deslizamiento (swipe_distance) y el tipo de deslizamiento (swipe_type), pero eso no resolvió el problema.

    Aquí tienes algunas cosas que puedes intentar:

    1. Asegúrate de tener la última versión de Kivy y KivyMD instalada en tu máquina.
    2. Comprueba si tienes instaladas dependencias conflictivas o desactualizadas.
    3. Intenta ejecutar el código de muestra en una máquina diferente para ver si el problema es específico de tu configuración o un problema general con el código.
    4. Intenta usar la funcionalidad MDCardSwipe en un proyecto diferente para ver si funciona allí.

    Si ninguna de estas soluciones funciona, puedes intentar comunicarte con la comunidad de KivyMD o publicar en sus foros para obtener más ayuda.

Comments are closed.