根据窗口的高度和宽度缩放文本

根据窗口的高度和宽度缩放文本,第1张

根据窗口的高度和宽度缩放文本

如果文本太大,可以使用缩放转换来缩小文本,这样可以避免种族冲突:

<ScaleLabel@Label>:    _scale: 1. if self.texture_size[0] < self.width else float(self.width) / self.texture_size[0]    canvas.before:        PushMatrix        Scale: origin: self.center x: self._scale or 1. y: self._scale or 1.    canvas.after:        PopMatrix

但是,这确实可以缩放画布上的所有内容。因此,如果您要绘制背景或其他内容,请确保其位于

PushMatrix
/之外
PopMatrix
。例如,如果您想将此与一起使用
Button
,则可以重写
Button
的kv规则:

<-ScaleButton@Button>:    state_image: self.background_normal if self.state == 'normal' else self.background_down    disabled_image: self.background_disabled_normal if self.state == 'normal' else self.background_disabled_down    _scale: 1. if self.texture_size[0] < self.width else float(self.width) / self.texture_size[0]    canvas:        Color: rgba: self.background_color        BorderImage: border: self.border pos: self.pos size: self.size source: self.disabled_image if self.disabled else self.state_image        PushMatrix        Scale: origin: self.center x: self._scale or 1. y: self._scale or 1.        Color: rgba: self.disabled_color if self.disabled else self.color        Rectangle: texture: self.texture size: self.texture_size pos: int(self.center_x - self.texture_size[0] / 2.), int(self.center_y - self.texture_size[1] / 2.)        PopMatrix

我创建了一个用法示例作为要点:https :
//gist.github.com/kived/862db38078170ec0ef83



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5648747.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存