我正在尝试简单地使用TextInput创建一个纯边框,如下图所示:
TextInput:
size_hint_y: None
height: 122
disabled_background_color: 1,1,1,1
disabled_foreground_color: 1,1,1,1
background_disabled_normal: ''
background_normal: ''
background_color: 1,1,1,1
foreground_color: 0,0,0,1
我确实尝试了上述代码的任意数量的组合,包括禁用它们。如果不禁用background_normal,它将显示为非常浅的黑色到白色渐变。我只希望TextInput周围有简单的黑色边框。
答案 0 :(得分:0)
使用border
和BorderImage
似乎是做到这一点的方法,但是我无法弄清楚。这是默认TextInput
样式的替代方法:
# over ride the default TextInput style
<-TextInput>:
canvas.before:
# Draw border first
Color:
rgba: 0,0,0,1
Rectangle:
size: self.size
pos: self.pos
# Draw background (covers most of the above border)
Color:
rgba: self.background_color
Rectangle:
size: (self.width - self.border[1] - self.border[3], self.height - self.border[0] - self.border[2])
pos: (self.x + self.border[3], self.y + self.border[0])
# set the color for the text
Color:
rgba: self.foreground_color
这仍然使用background_color
和foreground_color
,但是边框颜色硬编码为0,0,0,1
。 border
的{{1}}属性设置documentation
请注意,规则中的TextInput
意味着忽略任何先前的规则。
只需在您的-
文件中使用TextInput
之前添加此内容。