# -*- coding: utf-8 -*- from __future__ import unicode_literals from __future__ import print_function from __future__ import division from __future__ import absolute_import from future import standard_library standard_library.install_aliases() from builtins import * from kivy.lang import Builder from kivy.properties import BoundedNumericProperty, ReferenceListProperty, ListProperty,BooleanProperty from kivy.uix.boxlayout import BoxLayout from kivymd.elevationbehavior import ElevationBehavior from kivymd.theming import ThemableBehavior from kivy.metrics import dp from kivy.uix.widget import Widget Builder.load_string(''' canvas: Color: rgba: self.background_color RoundedRectangle: size: self.size pos: self.pos radius: [self.border_radius] Color: rgba: self.theme_cls.divider_color a: self.border_color_a Line: rounded_rectangle: (self.pos[0],self.pos[1],self.size[0],self.size[1],self.border_radius) background_color: self.theme_cls.bg_light canvas: Color: rgba: self.theme_cls.divider_color Rectangle: size: self.size pos: self.pos ''') class MDSeparator(ThemableBehavior, BoxLayout): """ A separator line """ def __init__(self, *args, **kwargs): super(MDSeparator, self).__init__(*args, **kwargs) self.on_orientation() def on_orientation(self,*args): self.size_hint = (1, None) if self.orientation == 'horizontal' else (None, 1) if self.orientation == 'horizontal': self.height = dp(1) else: self.width = dp(1) class MDCard(ThemableBehavior, ElevationBehavior, BoxLayout): r = BoundedNumericProperty(1., min=0., max=1.) g = BoundedNumericProperty(1., min=0., max=1.) b = BoundedNumericProperty(1., min=0., max=1.) a = BoundedNumericProperty(0., min=0., max=1.) border_radius = BoundedNumericProperty(dp(3),min=0) border_color_a = BoundedNumericProperty(0, min=0., max=1.) background_color = ReferenceListProperty(r, g, b, a)