Kivy,带有纯黑色边框的TextInput

时间:2019-01-03 11:35:30

标签: kivy

我正在尝试简单地使用TextInput创建一个纯边框,如下图所示: Black border image

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周围有简单的黑色边框。

1 个答案:

答案 0 :(得分:0)

使用borderBorderImage似乎是做到这一点的方法,但是我无法弄清楚。这是默认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_colorforeground_color,但是边框颜色硬编码为0,0,0,1border的{​​{1}}属性设置documentation

中指定的边框宽度

请注意,规则中的TextInput意味着忽略任何先前的规则。

只需在您的-文件中使用TextInput之前添加此内容。