0

I am not able to remove the transition animation during screen change . And also I want add more screens inside all the existing screens and navigate between those screens with the help of buttons.

I am very new to kivy and kivymd , your help will be just be electrifying to me. Thank You Very Much In Advance.

Python Code (main.py):

from kivymd.app import MDApp
from kivy.lang.builder import Builder


class main_app(MDApp):
    def build(self):
        return Builder.load_file('gu.kv')


main_app().run()

KV File (gu.kv)

NavigationLayout:
    # Screens of different pages
    ScreenManager:
        id: screen_manager
        name: 'screen_manager'

        # search_items_screen
        Screen:
            id: search_items_screen
            name: 'search_items_screen'
            # Menu_toggle button
            MDIconButton:
                icon: 'menu'
                pos_hint: {'center_x':.03, 'center_y':.945}
                on_release: navigation_drawer.set_state("open")
            MDLabel:
                text: 'search_items_screen'

        # daily_book_screen
        Screen:
            id: daily_book_screen
            name: 'daily_book_screen'
            # Menu_toggle button
            MDIconButton:
                icon: 'menu'
                pos_hint: {'center_x':.03, 'center_y':.945}
                on_release: navigation_drawer.set_state("open")
            MDLabel:
                text: 'daily_book_screen'

        # udhar_book_screen
        Screen:
            id: udhar_book_screen
            name: 'udhar_book_screen'
            # Menu_toggle button
            MDIconButton:
                icon: 'menu'
                pos_hint: {'center_x':.03, 'center_y':.945}
                on_release: navigation_drawer.set_state("open")
            MDLabel:
                text: 'udhar_book_screen'

        # entry_book_screen
        Screen:
            id: entry_book_screen
            name: 'entry_book_screen'
            # Menu_toggle button
            MDIconButton:
                icon: 'menu'
                pos_hint: {'center_x':.03, 'center_y':.945}
                on_release: navigation_drawer.set_state("open")
            MDLabel:
                text: 'entry_book_screen'

        # trending_screen
        Screen:
            id: trending_screen
            name: 'trending_screen'
            # Menu_toggle button
            MDIconButton:
                icon: 'menu'
                pos_hint: {'center_x':.03, 'center_y':.945}
                on_release: navigation_drawer.set_state("open")
            MDLabel:
                text: 'trending_screen'

        # statistics_screen
        Screen:
            id: statistics_screen
            name: 'statistics_screen'
            # Menu_toggle button
            MDIconButton:
                icon: 'menu'
                pos_hint: {'center_x':.03, 'center_y':.945}
                on_release: navigation_drawer.set_state("open")
            MDLabel:
                text: 'statistics_screen'



    # Navigation Drawer
    MDNavigationDrawer:
        id: navigation_drawer
        name: 'navigation_drawer'
        ScrollView:
            MDList:
                OneLineListItem:
                    text: 'Search Items'
                    on_release:
                        screen_manager.current= 'search_items_screen'
                        navigation_drawer.set_state("close")
                OneLineListItem:
                    text: 'Daily Book'
                    on_release:
                        screen_manager.current= 'daily_book_screen'
                        navigation_drawer.set_state("close")
                OneLineListItem:
                    text: 'Udhar Book'
                    on_release:
                        screen_manager.current= 'udhar_book_screen'
                        navigation_drawer.set_state("close")
                OneLineListItem:
                    text: 'Entry Book'
                    on_release:
                        screen_manager.current= 'entry_book_screen'
                        navigation_drawer.set_state("close")
                OneLineListItem:
                    text: 'Trending'
                    on_release:
                        screen_manager.current= 'trending_screen'
                        navigation_drawer.set_state("close")
                OneLineListItem:
                    text: 'Statistics'
                    on_release:
                        screen_manager.current= 'statistics_screen'
                        navigation_drawer.set_state("close")

1 Answers1

1

You can eliminate the default SlideTransition by using NoTransition in your kv:

#:import NoTransition kivy.uix.screenmanager.NoTransition
NavigationLayout:
    # Screens of different pages
    ScreenManager:
        id: screen_manager
        name: 'screen_manager'
        transition: NoTransition()

As for more screens, you can add another ScreenManager inside a Screen and use that inner ScreenManager to switch among the children of that inner ScreenManager.

John Anderson
  • 35,991
  • 4
  • 13
  • 36