boxlayout中的文本左对齐
Text-align in left in boxlayout
user.kv
#: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
- 如何添加用户列表的背景色
- 如何左对齐
文本对齐 - Button/Label
默认情况下,文本图像(纹理)仅大到足以包含字符并位于中心。 valign 属性 将无效,而 halign 仅在您的文本有换行符时才有效;即使 halign 设置为左侧(默认情况下),单行文本也会显示为居中。
为了使对齐属性生效,请设置 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 设置为 ''。
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
输出
user.kv
#: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
- 如何添加用户列表的背景色
- 如何左对齐
文本对齐 - Button/Label
默认情况下,文本图像(纹理)仅大到足以包含字符并位于中心。 valign 属性 将无效,而 halign 仅在您的文本有换行符时才有效;即使 halign 设置为左侧(默认情况下),单行文本也会显示为居中。
为了使对齐属性生效,请设置 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 设置为 ''。
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