81 lines
2.3 KiB
Python
81 lines
2.3 KiB
Python
|
'''
|
||
|
Demonstrate shorten / number of line in label
|
||
|
=============================================
|
||
|
|
||
|
--------------- ------- -------------------------------------------------------
|
||
|
Number of lines Shorten Behavior
|
||
|
--------------- ------- -------------------------------------------------------
|
||
|
0 (unlimited) False Default behavior
|
||
|
1 False Display as much as possible, at least one word
|
||
|
N False Display as much as possible
|
||
|
0 (unlimited) True Default behavior (as kivy <= 1.7 series)
|
||
|
1 True Display as much as possible, shorten long word.
|
||
|
N True Display as much as possible, shorten long word.
|
||
|
--------------- ------- -------------------------------------------------------
|
||
|
|
||
|
'''
|
||
|
|
||
|
|
||
|
from kivy.app import App
|
||
|
from kivy.lang import Builder
|
||
|
|
||
|
kv = '''
|
||
|
<LabeledSlider@Slider>:
|
||
|
step: 1
|
||
|
Label:
|
||
|
text: '{}'.format(int(root.value))
|
||
|
size: self.texture_size
|
||
|
top: root.center_y - sp(20)
|
||
|
center_x: root.value_pos[0]
|
||
|
|
||
|
BoxLayout:
|
||
|
orientation: 'vertical'
|
||
|
BoxLayout:
|
||
|
spacing: '10dp'
|
||
|
padding: '4dp'
|
||
|
size_hint_y: None
|
||
|
height: '48dp'
|
||
|
LabeledSlider:
|
||
|
id: slider
|
||
|
value: 500
|
||
|
min: 25
|
||
|
max: root.width
|
||
|
on_value: self.value = int(self.value)
|
||
|
ToggleButton:
|
||
|
id: shorten
|
||
|
text: 'Shorten'
|
||
|
LabeledSlider:
|
||
|
id: max_lines
|
||
|
value: 0
|
||
|
min: 0
|
||
|
max: 5
|
||
|
|
||
|
AnchorLayout:
|
||
|
RelativeLayout:
|
||
|
size_hint: None, None
|
||
|
size: slider.value, 50
|
||
|
canvas:
|
||
|
Color:
|
||
|
rgb: .4, .4, .4
|
||
|
Rectangle:
|
||
|
size: self.size
|
||
|
Label:
|
||
|
size_hint: 1, 1
|
||
|
text_size: self.size
|
||
|
shorten: shorten.state == 'down'
|
||
|
max_lines: max_lines.value
|
||
|
valign: 'middle'
|
||
|
halign: 'center'
|
||
|
color: (1, 1, 1, 1)
|
||
|
font_size: 22
|
||
|
text: 'Michaelangelo Smith'
|
||
|
'''
|
||
|
|
||
|
|
||
|
class ShortenText(App):
|
||
|
def build(self):
|
||
|
return Builder.load_string(kv)
|
||
|
|
||
|
|
||
|
ShortenText().run()
|