#:kivy 1.10.0
#:import CoreImage kivy.core.image.Image
#:import os os
<SelectableButton>:
# Draw a background to indicate selection
canvas.before:
Color:
rgba: (0, 0.517, 0.705, 1) if self.selected else (0, 0.517, 0.705, 1)
Rectangle:
pos: self.pos
size: self.size
答案 0 :(得分:4)
默认情况下,文本图像(纹理)只是足够大以包含字符并位于中心。如果您的文字有换行符,则valign属性将不起作用,halign将仅起作用;即使halign设置为left(默认情况下),单行文本也会显示为居中。
为了使对齐属性生效,请设置text_size,它指定文本对齐的边界框的大小。例如,以下代码将此大小绑定到Button / Label的大小,因此文本将在小部件边界内对齐。这也将自动包裹Button / Label的文本以保留在此区域内。
padding_x是小部件框内文本的水平填充。它默认为0.以下代码的值为5,因此文本不接近右边框。
text_size: self.size
valign: "middle"
padding_x: 5
背景颜色,格式为(r,g,b,a)。
这可以作为纹理颜色的乘数。默认纹理为灰色,因此仅设置背景颜色会产生较暗的结果。要设置纯色,请将background_normal设置为&#39;&#39;。
background_color: (1, 1, 0, 1)
<SelectableButton>:
# Draw a background to indicate selection
canvas.before:
Color:
rgba: (0, 0.517, 0.705, 1) if self.selected else (0, 0.517, 0.705, 1)
Rectangle:
pos: self.pos
size: self.size
background_color: (1, 1, 0, 1)
text_size: self.size
valign: "middle"
padding_x: 5