예제 #1
0
 def on_open(self):
     if not os.path.exists('./assets/Latte-crop.jpg'):
         crop_image(
             (int(dp(280)), int(dp(222))),
             './assets/Latte.jpg',
             './assets/Latte-crop.jpg')
         self.ids.previous_image.reload()
예제 #2
0
파일: main.py 프로젝트: salhi100/KivyMD
    def show_user_example_animation_card(self):
        """Create and open instance MDUserAnimationCard
        for the screen UserCard."""

        from kivymd.uix.useranimationcard import MDUserAnimationCard

        def main_back_callback():
            toast("Close card")

        if not self.user_card:
            image_for_user_card = (
                f"{demos_assets_path}guitar-for-user-card1139397_1280-crop.png"
            )
            if not os.path.exists(image_for_user_card):
                crop_image(
                    (int(Window.width), int(dp(Window.height * 40 // 100))),
                    f"{demos_assets_path}guitar-1139397_1280.png",
                    image_for_user_card,
                )

            self.user_card = MDUserAnimationCard(
                user_name="Lion Lion",
                path_to_avatar=image_for_user_card,
                callback=main_back_callback,
            )
            self.user_card.box_content.add_widget(ContentForAnimCard())
        self.user_card.open()
예제 #3
0
 def crop_image_for_tile(self, instance, size, path_to_crop_image):
     if not os.path.exists(os.path.join(self.directory,
                                        path_to_crop_image)):
         size = (int(size[0]), int(size[1]))
         path_to_origin_image = path_to_crop_image.replace('_tile_crop', '')
         crop_image(size, path_to_origin_image, path_to_crop_image)
     instance.source = path_to_crop_image
예제 #4
0
 def set_image(self, path_to_image, size, corner=False, ext="png"):
     prefix = "crop"
     path_to_crop = f"{path_to_image}-{prefix}.{ext}"
     if not os.path.exists(path_to_crop):
         crop_image(size, f"{path_to_image}.{ext}", path_to_crop, corner=corner)
         self.ids.about_us.ids.about_girl.source = path_to_crop
         self.ids.about_us.ids.about_girl.reload()
예제 #5
0
    def crop_image_for_tile(self, instance, size, path_to_crop_image):
        """Crop images for Grid screen."""

        if not os.path.exists(os.path.join(self.directory, path_to_crop_image)):
            size = (int(size[0]), int(size[1]))
            path_to_origin_image = path_to_crop_image.replace("_tile_crop", "")
            crop_image(size, path_to_origin_image, path_to_crop_image)
        instance.source = path_to_crop_image
예제 #6
0
 def set_image(self, path_to_image, size, corner=False, ext='png'):
     path_to_crop = '{}-{}.{}'.format(path_to_image, 'crop', ext)
     if not os.path.exists(path_to_crop):
         crop_image(
             size, '{}.{}'.format(path_to_image, ext),
             path_to_crop, corner=corner)
         self.ids.about_us.ids.about_girl.source = path_to_crop
         self.ids.about_us.ids.about_girl.reload()
예제 #7
0
파일: main.py 프로젝트: hosler/KivyMD
    def __init__(self, **kwargs):
        super().__init__(**kwargs)

        self.menu_items = [
            {'viewclass': 'MDMenuItem',
             'text': 'Example item %d' % i,
             'callback': self.callback_for_menu_items}
            for i in range(15)
        ]
        self.Window = Window
        self.manager = None
        self.md_app_bar = None
        self.instance_menu_demo_apps = None
        self.md_theme_picker = None
        self.long_dialog = None
        self.input_dialog = None
        self.alert_dialog = None
        self.ok_cancel_dialog = None
        self.long_dialog = None
        self.dialog = None
        self.manager_open = False
        self.cards_created = False
        self.user_card = None
        self.bs_menu_1 = None
        self.bs_menu_2 = None
        self.my_snackbar = None
        self._interval = 0
        self.tick = 0
        self.create_stack_floating_buttons = False
        self.previous_text = \
            "Welcome to the application [b][color={COLOR}]Kitchen Sink" \
            "[/color][/b].\nTo see [b][color={COLOR}]KivyMD[/color][/b] " \
            "examples, open the menu and select from the list the desired " \
            "example or".format(COLOR=get_hex_from_color(
                self.theme_cls.primary_color))
        self.previous_text_end = \
            "for show example apps\n\n" \
            "Author - [b][color={COLOR}]Andrés Rodríguez[/color][/b]\n" \
            "[u][b][color={COLOR}][email protected][/color]" \
            "[/b][/u]\n\n" \
            "Author this Fork - [b][color={COLOR}]Ivanov Yuri[/color][/b]\n" \
            "[u][b][color={COLOR}][email protected][/color]" \
            "[/b][u]".format(COLOR=get_hex_from_color(
                self.theme_cls.primary_color))
        self.names_contacts = (
            'Alexandr Taylor', 'Yuri Ivanov', 'Robert Patric', 'Bob Marley',
            'Magnus Carlsen', 'Jon Romero', 'Anna Bell', 'Maxim Kramerer',
            'Sasha Gray', 'Vladimir Ivanenko')
        self.demo_apps_list = [
            'Shop Window', 'Coffee Menu', 'Fitness Club', 'Registration']
        self.menu_for_demo_apps = []
        Window.bind(on_keyboard=self.events)
        crop_image((Window.width, int(dp(Window.height * 35 // 100))),
                   '{}/assets/guitar-1139397_1280.png'.format(
                       self.directory),
                   '{}/assets/guitar-1139397_1280_crop.png'.format(
                       self.directory))
예제 #8
0
 def on_open(self):
     if not os.path.exists(
             f"{os.environ['KITCHEN_SINK_ASSETS']}Latte-crop.jpg"):
         crop_image(
             (int(dp(280)), int(dp(222))),
             f"{os.environ['KITCHEN_SINK_ASSETS']}Latte.jpg",
             f"{os.environ['KITCHEN_SINK_ASSETS']}Latte-crop.jpg",
         )
         self.ids.previous_image.reload()
예제 #9
0
파일: grid.py 프로젝트: abang90/testapp
    def crop_image_for_tile(self, instance, size, path_to_crop_image):
        """Crop images for Grid screen."""

        if not os.path.exists(
                os.path.join(os.environ["KITCHEN_SINK_ASSETS"],
                             path_to_crop_image)):
            size = (int(size[0]), int(size[1]))
            path_to_origin_image = path_to_crop_image.replace("_tile_crop", "")
            crop_image(size, path_to_origin_image, path_to_crop_image)
        instance.source = path_to_crop_image
예제 #10
0
 def set_image(self, path_to_image, size, corner=False, ext='png'):
     prefix = 'crop'
     path_to_crop = f'{path_to_image}-{prefix}.{ext}'
     if not os.path.exists(path_to_crop):
         crop_image(size,
                    f'{path_to_image}.{ext}',
                    path_to_crop,
                    corner=corner)
         self.ids.about_us.ids.about_girl.source = path_to_crop
         self.ids.about_us.ids.about_girl.reload()
예제 #11
0
 def crop_image_for_tile(self, instance, size, path_to_crop_image):
     """Crop images for Grid screen."""
     if not os.path.exists(
             os.path.join(os.environ["ASSET"], path_to_crop_image)):
         size = (int(size[0]), int(size[1]))
         path_to_origin_image = path_to_crop_image.replace("_tile_crop", "")
         crop_image(size, path_to_origin_image, path_to_crop_image)
     instance.source = path_to_crop_image
     img = Image(source=instance.source)
     self.ids.tile_1.add_widget(img)
예제 #12
0
    def __init__(self, **kwargs):
        self.title = "Kitchen Sink"
        self.theme_cls.primary_palette = "BlueGray"
        self.theme_cls.accent_palette = "Gray"
        super().__init__(**kwargs)

        self.menu_items = [
            {
                "viewclass": "MDMenuItem",
                "text": "Example item %d" % i,
                "callback": self.callback_for_menu_items,
            }
            for i in range(15)
        ]
        self.hex_primary_color = get_hex_from_color(
            self.theme_cls.primary_color
        )

        self.previous_text = (
            f"Welcome to the application [b][color={self.hex_primary_color}]"
            f"Kitchen Sink[/color][/b].\nTo see [b]"
            f"[color={self.hex_primary_color}]KivyMD[/color][/b] "
            f"examples, open the menu and select from the list the desired "
            f"example or"
        )
        self.previous_text_end = (
            f"for show example apps\n\n"
            f"Author - [b][color={self.hex_primary_color}]"
            f"Andrés Rodríguez[/color][/b]\n"
            f"[u][b][color={self.hex_primary_color}]"
            f"[email protected][/color][/b][/u]\n\n\n"
            f"Authors this Fork:\n\n"
            f"[b][color={self.hex_primary_color}]"
            f"Ivanov Yuri[/color][/b]\n"
            f"[u][b][color={self.hex_primary_color}]"
            f"[email protected][/color][/b][/u]\n\n"
            f"[b][color={self.hex_primary_color}]Artem S. Bulgakov[/color][/b]\n"
            f"[u][b][color={self.hex_primary_color}]"
            f"[email protected][/color][/b][/u]\n\n"
            f"and contributors..."
        )
        self.list_name_icons = list(md_icons.keys())[0:15]
        Window.bind(on_keyboard=self.events, on_resize=self.window_resize)
        crop_image(
            (Window.width, int(dp(Window.height * 35 // 100))),
            f"{os.environ['KITCHEN_SINK_ASSETS']}guitar-1139397_1280.png",
            f"{os.environ['KITCHEN_SINK_ASSETS']}guitar-1139397_1280_crop.png",
        )
예제 #13
0
    def __init__(self, **kwargs):
        super().__init__(**kwargs)

        self.menu_items = [{
            'viewclass': 'MDMenuItem',
            'text': 'Example item %d' % i,
            'callback': self.callback_for_menu_items
        } for i in range(15)]
        self.Window = Window
        self.manager = None
        self.md_app_bar = None
        self.instance_menu_demo_apps = None
        self.md_theme_picker = None
        self.long_dialog = None
        self.input_dialog = None
        self.alert_dialog = None
        self.ok_cancel_dialog = None
        self.long_dialog = None
        self.dialog = None
        self.manager_open = False
        self.cards_created = False
        self.user_card = None
        self.bs_menu_1 = None
        self.bs_menu_2 = None
        self.my_snackbar = None
        self._interval = 0
        self.tick = 0
        self.create_stack_floating_buttons = False
        Window.bind(on_keyboard=self.events)
        crop_image(
            (Window.width, int(dp(Window.height * 35 // 100))),
            '{}/assets/guitar-1139397_1280.png'.format(self.directory),
            '{}/assets/guitar-1139397_1280_crop.png'.format(self.directory))
        # DB Data =======================================================
        self.db = None
        self.host = StringProperty(None)
        self.user = StringProperty(None)
        self.password = StringProperty(None)
        self.service = StringProperty(None)
        self.port = StringProperty(None)
        # TABS Data =====================================================
        self.accidents = None
        self.hospitals = None
        self.ambulances = None
        self.doctors = None
        self.patients = None
예제 #14
0
    def on_enter(self):
        if self.has_already_opened:
            return
        else:
            self.has_already_opened = True

        content_for_panel = MoreInformation()
        md_expansion_panel = MDExpansionPanel(
            content=content_for_panel,
            icon=f"{PATH_TO_IMAGES}/information.png",
            panel_cls=MDExpansionPanelOneLine(text="More information"),
        )
        self.ids.expansion_panel_box.add_widget(md_expansion_panel)

        path = f"{PATH_TO_IMAGES}/previous_crop.jpg"
        if not os.path.exists(path):
            crop_image(
                (Window.width, int(dp(Window.height * 35 // 100))),
                f"{PATH_TO_IMAGES}/previous.jpg",
                path,
            )
        Clock.schedule_once(lambda x: self.set_path_to_image_product(path),
                            0.2)
예제 #15
0
    def show_manager_swiper(self):
        from kivymd.uix.managerswiper import MDSwiperPagination

        if not self.manager_swiper:
            path_to_crop_image = (
                f"{self.directory}/assets/guitar-1139397_1280_swiper_crop.png")
            if not os.path.exists(path_to_crop_image):
                crop_image(
                    (int(Window.width - dp(10)), int(dp(250))),
                    f"{self.directory}/assets/guitar-1139397_1280.png",
                    path_to_crop_image,
                )

            Builder.load_string(manager_swiper)
            self.manager_swiper = Factory.MySwiperManager()
            self.main_widget.ids.scr_mngr.add_widget(self.manager_swiper)
            paginator = MDSwiperPagination()
            paginator.screens = (
                self.manager_swiper.ids.swiper_manager.screen_names)
            paginator.manager = self.manager_swiper.ids.swiper_manager
            self.manager_swiper.ids.swiper_manager.paginator = paginator
            self.manager_swiper.ids.box.add_widget(paginator)

        self.main_widget.ids.scr_mngr.current = "manager swiper"
예제 #16
0
    def on_enter(self):
        if self.has_already_opened:
            return
        else:
            self.has_already_opened = True

        content_for_panel = MoreInformation()
        md_expansion_panel = MDExpansionPanel(
            content=content_for_panel,
            icon="data/images/information.png",
            title="More information",
        )
        md_expansion_panel.bind(on_open=self.on_panel_open)
        md_expansion_panel.bind(on_close=self.on_panel_close)
        self.ids.expansion_panel_box.add_widget(md_expansion_panel)

        path = "data/images/previous_crop.jpg"
        if not os.path.exists(path):
            crop_image(
                (Window.width, int(dp(Window.height * 35 // 100))),
                f"data/images/previous.jpg",
                path,
            )
        Clock.schedule_once(lambda x: self.set_path_toImage_product(path), 0.2)
예제 #17
0
from kivy.properties import StringProperty

from kivy.animation import Animation
from kivy.core.window import Window
from kivy.uix.screenmanager import Screen

from kivymd.utils.cropimage import crop_image
from kivymd.behaviors.ripplebehavior import CircularRippleBehavior
from kivymd import demos_assets_path

from .basedialog import BaseDialogForDemo

if not os.path.exists(f"{demos_assets_path}coffee_crop.jpg"):
    crop_image(
        (Window.width, Window.height),
        f"{demos_assets_path}coffee.jpg",
        f"{demos_assets_path}coffee_crop.jpg",
    )

screen_coffee_menu = """
#:set coffee_color [.33725490196078434, .16862745098039217, .0392156862745098, .7]
#:set item_color [.3333333333333333, .1411764705882353, .06666666666666667, 1]


<PreviousDialogCoffee>
    size_hint: None, None
    size: dp(280), dp(420)

    BoxLayout:
        spacing: dp(10)
        orientation: 'vertical'
예제 #18
0
파일: formone.py 프로젝트: chenguuu/KivyMD
import os

from kivy.app import App
from kivy.core.window import Window
from kivy.metrics import dp
from kivy.uix.behaviors import ButtonBehavior
from kivy.uix.screenmanager import Screen
from kivy.uix.image import Image

from kivymd.ripplebehavior import CircularRippleBehavior
from kivymd.utils.cropimage import crop_image

if not os.path.exists("./assets/market-crop.jpg"):
    crop_image(
        (Window.width, Window.height),
        "./assets/market.jpg",
        "./assets/market-crop.jpg",
    )

registration_form_one = """
#:import images_path kivymd.images_path
#:import MDFillRoundFlatButton kivymd.button.MDFillRoundFlatButton
#:import MDLabel kivymd.label.MDLabel
#:import MDTextFieldRound kivymd.textfields.MDTextFieldRound


<ButtonRound@ButtonRoundForForm>
    size_hint: None, None
    size: dp(50), dp(50)

예제 #19
0
from kivy.metrics import dp
from kivy.uix.screenmanager import Screen

from kivymd import demos_assets_path
from kivymd.utils.cropimage import crop_image, crop_round_image

if not os.path.exists(f"{demos_assets_path}sasha-round.png"):
    crop_round_image(
        (int(dp(Window.width * 30 / 100)), int(dp(Window.width * 30 / 100))),
        f"{demos_assets_path}sasha-grey.jpg",
        f"{demos_assets_path}sasha-round.png",
    )
if not os.path.exists(f"{demos_assets_path}account-background-crop.png"):
    crop_image(
        (Window.width, Window.height),
        f"{demos_assets_path}account-background.jpeg",
        f"{demos_assets_path}account-background-crop.png",
    )

screen_account_page = """
#:import Window kivy.core.window.Window


<LabelAccountPage@Label>
    size_hint: None, None
    size: self.texture_size
    pos_hint: {'center_x': .5}


<BoxMinimumHeight@BoxLayout>
    size_hint_y: None
예제 #20
0
from kivy.metrics import dp
from kivy.uix.behaviors import ButtonBehavior
from kivy.uix.boxlayout import BoxLayout
from kivy.properties import StringProperty

from kivy.animation import Animation
from kivy.core.window import Window
from kivy.uix.screenmanager import Screen

from kivymd.utils.cropimage import crop_image
from kivymd.ripplebehavior import CircularRippleBehavior

from .basedialog import BaseDialogForDemo

if not os.path.exists("./assets/coffee_crop.jpg"):
    crop_image((Window.width, Window.height), "./assets/coffee.jpg",
               "./assets/coffee_crop.jpg")

screen_coffee_menu = """
#:import MDSeparator kivymd.cards.MDSeparator
#:import MDLabel kivymd.label.MDLabel
#:import MDCard kivymd.cards.MDCard
#:import MDFlatButton kivymd.button.MDFlatButton

#:set coffee_color [.33725490196078434, .16862745098039217, .0392156862745098, .7]
#:set item_color [.3333333333333333, .1411764705882353, .06666666666666667, 1]


<PreviousDialogCoffee>
    size_hint: None, None
    size: dp(280), dp(420)
예제 #21
0
"""

import os

from kivy.app import App
from kivy.core.window import Window
from kivy.metrics import dp
from kivy.uix.behaviors import ButtonBehavior
from kivy.uix.screenmanager import Screen
from kivy.uix.image import Image

from kivymd.ripplebehavior import CircularRippleBehavior
from kivymd.utils.cropimage import crop_image

if not os.path.exists('./assets/market-crop.jpg'):
    crop_image((Window.width, Window.height), './assets/market.jpg',
               './assets/market-crop.jpg')

registration_form_one = '''
#:import images_path kivymd.images_path
#:import MDFillRoundFlatButton kivymd.button.MDFillRoundFlatButton
#:import MDLabel kivymd.label.MDLabel
#:import MDTextFieldRound kivymd.textfields.MDTextFieldRound


<ButtonRound@ButtonRoundForForm>
    size_hint: None, None
    size: dp(50), dp(50)


<CircleWidget@Widget>
    size_hint: None, None
예제 #22
0
"""

import os

from kivy.app import App
from kivy.core.window import Window
from kivy.metrics import dp
from kivy.uix.screenmanager import Screen

from kivymd.utils.cropimage import crop_image
from kivymd import demos_assets_path

if not os.path.exists(f"{demos_assets_path}market-crop.jpg"):
    crop_image(
        (Window.width, Window.height),
        f"{demos_assets_path}market.jpg",
        f"{demos_assets_path}market-crop.jpg",
    )

registration_form_one = """
#:import images_path kivymd.images_path


<ButtonRound@MDCustomRoundIconButton>
    size_hint: None, None
    size: dp(50), dp(50)


<CircleWidget@Widget>
    size_hint: None, None
    size: dp(20), dp(20)
예제 #23
0
"""

import os

from kivy.app import App
from kivy.core.window import Window
from kivy.metrics import dp
from kivy.uix.screenmanager import Screen

from kivymd.utils.cropimage import crop_image

if not os.path.exists(f"{os.environ['KITCHEN_SINK_ASSETS']}market-crop.jpg"):
    crop_image(
        (Window.width, Window.height),
        f"{os.environ['KITCHEN_SINK_ASSETS']}market.jpg",
        f"{os.environ['KITCHEN_SINK_ASSETS']}market-crop.jpg",
    )

registration_form_one = """
#:import images_path kivymd.images_path
#:import environ os.environ


<ButtonRound@MDCustomRoundIconButton>
    size_hint: None, None
    size: dp(50), dp(50)


<CircleWidget@Widget>
    size_hint: None, None
예제 #24
0
from kivy.app import App
from kivy.clock import Clock
from kivy.metrics import dp

from kivy.animation import Animation
from kivy.core.window import Window
from kivy.uix.screenmanager import Screen

from kivymd.utils.cropimage import crop_image
from kivymd import demos_assets_path

if not os.path.exists(f"{demos_assets_path}crossfit-crop.png"):
    crop_image(
        (Window.width, Window.height),
        f"{demos_assets_path}crossfit.png",
        f"{demos_assets_path}crossfit-crop.png",
    )

screen_fitness_club = """
<InputField@MDTextFieldRect>:
    size_hint: None, None
    multiline: False
    size_hint: None, None
    size: app.Window.width - dp(50), dp(30)
    pos_hint: {'center_y': .5, 'center_x': .5}
    cursor_color: 0, 0, 0, 1


<ItemFitnessClubMenu@OneLineAvatarListItem>
    callback: None
예제 #25
0
from kivy.core.window import Window
from kivy.metrics import dp
from kivy.uix.screenmanager import Screen

from kivymd.utils.cropimage import crop_image, crop_round_image

if not os.path.exists("./assets/sasha-round.png"):
    crop_round_image(
        (int(dp(Window.width * 30 / 100)), int(dp(Window.width * 30 / 100))),
        "./assets/sasha-grey.jpg",
        "./assets/sasha-round.png",
    )
if not os.path.exists("./assets/account-background-crop.png"):
    crop_image(
        (Window.width, Window.height),
        "./assets/account-background.jpeg",
        "./assets/account-background-crop.png",
    )

screen_account_page = """
#:import Window kivy.core.window.Window
#:import MDLabel kivymd.label.MDLabel
#:import MDFillRoundFlatButton kivymd.button.MDFillRoundFlatButton
#:import MDCustomRoundIconButton kivymd.button.MDCustomRoundIconButton


<LabelAccountPage@Label>
    size_hint: None, None
    size: self.texture_size
    pos_hint: {'center_x': .5}
예제 #26
0
from kivy.animation import Animation
from kivy.clock import Clock
from kivy.core.window import Window
from kivy.metrics import dp
from kivy.uix.screenmanager import Screen

from kivymd.utils.cropimage import crop_image, crop_round_image

if not os.path.exists('./assets/sasha-round.png'):
    crop_round_image(
        (int(dp(Window.width * 30 / 100)), int(dp(Window.width * 30 / 100))),
        './assets/sasha-grey.jpg',
        './assets/sasha-round.png')
if not os.path.exists('./assets/account-background-crop.png'):
    crop_image(
        (Window.width, Window.height),
        './assets/account-background.jpeg',
        './assets/account-background-crop.png')

screen_account_page = '''
#:import Window kivy.core.window.Window
#:import MDLabel kivymd.label.MDLabel
#:import MDFillRoundFlatButton kivymd.button.MDFillRoundFlatButton
#:import MDCustomRoundIconButton kivymd.button.MDCustomRoundIconButton


<LabelAccountPage@Label>
    size_hint: None, None
    size: self.texture_size
    pos_hint: {'center_x': .5}

예제 #27
0
from kivy.clock import Clock
from kivy.metrics import dp

from kivy.animation import Animation
from kivy.core.window import Window
from kivy.uix.behaviors import ButtonBehavior
from kivy.uix.screenmanager import Screen
from kivy.uix.image import Image

from kivymd.ripplebehavior import CircularRippleBehavior
from kivymd.utils.cropimage import crop_image

if not os.path.exists("./assets/crossfit-crop.png"):
    crop_image(
        (Window.width, Window.height),
        "./assets/crossfit.png",
        "./assets/crossfit-crop.png",
    )

screen_fitness_club = """
#:import MDBottomNavigation kivymd.bottomnavigation.MDBottomNavigation
#:import MDTextFieldRect kivymd.textfields.MDTextFieldRect
#:import MDLabel kivymd.label.MDLabel
#:import MDIconButton kivymd.button.MDIconButton


<InputField@MDTextFieldRect>:
    size_hint: None, None
    multiline: False
    size_hint: None, None
    size: app.Window.width - dp(50), dp(30)
예제 #28
0
파일: main.py 프로젝트: salhi100/KivyMD
    def __init__(self, **kwargs):
        super().__init__(**kwargs)

        self.menu_items = [{
            "viewclass": "MDMenuItem",
            "text": "Example item %d" % i,
            "callback": self.callback_for_menu_items,
        } for i in range(15)]
        self.Window = Window

        # Default class instances.
        self.manager = None
        self.md_app_bar = None
        self.instance_menu_demo_apps = None
        self.instance_menu_source_code = None
        self.md_theme_picker = None
        self.long_dialog = None
        self.input_dialog = None
        self.alert_dialog = None
        self.ok_cancel_dialog = None
        self.long_dialog = None
        self.dialog = None
        self.user_card = None
        self.bs_menu_1 = None
        self.bs_menu_2 = None
        self.popup_screen = None
        self.my_snackbar = None
        self.dialog_load_kv_files = None

        self.create_stack_floating_buttons = False
        self.manager_open = False
        self.cards_created = False

        self._interval = 0
        self.tick = 0
        self.x = 0
        self.y = 25
        self.file_source_code = ""

        self.hex_primary_color = get_hex_from_color(
            self.theme_cls.primary_color)
        self.previous_text = (
            f"Welcome to the application [b][color={self.hex_primary_color}]"
            f"Kitchen Sink[/color][/b].\nTo see [b]"
            f"[color={self.hex_primary_color}]KivyMD[/color][/b] "
            f"examples, open the menu and select from the list the desired "
            f"example or")
        self.previous_text_end = (
            f"for show example apps\n\n"
            f"Author - [b][color={self.hex_primary_color}]"
            f"Andrés Rodríguez[/color][/b]\n"
            f"[u][b][color={self.hex_primary_color}]"
            f"[email protected][/color][/b][/u]\n\n\n"
            f"Authors this Fork:\n\n"
            f"[b][color={self.hex_primary_color}]"
            f"Ivanov Yuri[/color][/b]\n"
            f"[u][b][color={self.hex_primary_color}]"
            f"[email protected][/color][/b][/u]\n\n"
            f"[b][color={self.hex_primary_color}]Artem S. Bulgakov[/color][/b]\n"
            f"[u][b][color={self.hex_primary_color}]"
            f"[email protected][/color][/b][/u]\n\n"
            f"and contributors...")
        self.names_contacts = (
            "Alexandr Taylor",
            "Yuri Ivanov",
            "Robert Patric",
            "Bob Marley",
            "Magnus Carlsen",
            "Jon Romero",
            "Anna Bell",
            "Maxim Kramerer",
            "Sasha Gray",
            "Vladimir Ivanenko",
        )
        self.demo_apps_list = [
            "Shop Window",
            "Coffee Menu",
            "Fitness Club",
            "Registration",
            "Account Page",
        ]
        self.list_name_icons = list(md_icons.keys())[0:15]
        Window.bind(on_keyboard=self.events)
        crop_image(
            (Window.width, int(dp(Window.height * 35 // 100))),
            f"{demos_assets_path}guitar-1139397_1280.png",
            f"{demos_assets_path}guitar-1139397_1280_crop.png",
        )
예제 #29
0
from kivy.app import App
from kivy.clock import Clock
from kivy.metrics import dp

from kivy.animation import Animation
from kivy.core.window import Window
from kivy.uix.behaviors import ButtonBehavior
from kivy.uix.screenmanager import Screen
from kivy.uix.image import Image

from kivymd.ripplebehavior import CircularRippleBehavior
from kivymd.utils.cropimage import crop_image

if not os.path.exists('./assets/crossfit-crop.png'):
    crop_image((Window.width, Window.height), './assets/crossfit.png',
               './assets/crossfit-crop.png')

screen_fitness_club = '''
#:import MDBottomNavigation kivymd.bottomnavigation.MDBottomNavigation
#:import MDTextFieldRect kivymd.textfields.MDTextFieldRect
#:import MDLabel kivymd.label.MDLabel
#:import MDIconButton kivymd.button.MDIconButton


<InputField@MDTextFieldRect>:
    size_hint: None, None
    multiline: False
    size_hint: None, None
    size: app.Window.width - dp(50), dp(30)
    pos_hint: {'center_y': .5, 'center_x': .5}
    cursor_color: 0, 0, 0, 1
예제 #30
0
파일: main.py 프로젝트: salhi100/KivyMD
    def add_cards(self, instance_grid_card):
        """Adds MDCardPost objects to the screen Cards
        when the screen is open."""

        from kivymd.uix.card import MDCardPost

        def callback(instance, value):
            if value is None:
                toast("Delete post %s" % str(instance))
            elif isinstance(value, int):
                toast("Set like in %d stars" % value)
            elif isinstance(value, str):
                toast("Repost with %s " % value)
            elif isinstance(value, list):
                toast(value[1])

        if not self.cards_created:
            self.cards_created = True
            menu_items = [{
                "viewclass": "MDMenuItem",
                "text": "Example item %d" % i,
                "callback": self.callback_for_menu_items,
            } for i in range(2)]
            buttons = ["facebook", "vk", "twitter"]

            instance_grid_card.add_widget(
                MDCardPost(text_post="Card with text",
                           swipe=True,
                           callback=callback))
            instance_grid_card.add_widget(
                MDCardPost(
                    right_menu=menu_items,
                    swipe=True,
                    text_post="Card with a button to open the menu MDDropDown",
                    callback=callback,
                ))
            instance_grid_card.add_widget(
                MDCardPost(
                    likes_stars=True,
                    callback=callback,
                    swipe=True,
                    text_post="Card with asterisks for voting.",
                ))

            image_for_card = (
                f"{demos_assets_path}kitten-for_card-1049129_1280-crop.png")
            if not os.path.exists(image_for_card):
                crop_image(
                    (int(Window.width), int(dp(200))),
                    f"{demos_assets_path}kitten-1049129_1280.png",
                    image_for_card,
                )
            instance_grid_card.add_widget(
                MDCardPost(
                    source=image_for_card,
                    tile_text="Little Baby",
                    tile_font_style="H5",
                    text_post="This is my favorite cat. He's only six months "
                    "old. He loves milk and steals sausages :) "
                    "And he likes to play in the garden.",
                    with_image=True,
                    swipe=True,
                    callback=callback,
                    buttons=buttons,
                ))