如何保持Kivy应用在调整大小时的比例和界面外观
我基本上想要的是,无论kivy应用窗口的大小怎么变化,比例和关系都能保持一致,这样我就能确保电脑和手机用户看到的界面是一样的。
我还是个初学者,所以对kivy的使用还不太了解……
这个kv代码是 `<input_field>: text_field:text_field space:space`。
RelativeLayout:
# Image at the bottom (adjust based on your image size)
Image:
id: space
source: "text place.png"
pos_hint: {"bottom": 0} # Position
size_hint_y: 1
size_hint_x: 1
pos_hint: {"center_x": 0.5, "center_y": 0.68} #Position in the center
# TransparentTextInput positioned on top of the image
TransparentTextInput:
id: text_field
text: "Username"
on_focus: text_field.text = "" if text_field.text == text_field.text else text_field.text
on_text: text_field.text = "" if text_field.text == "" else text_field.text
multiline: False
pos_hint: {"center_x": 0.6, "center_y": 0.22} # Position in the center of the image
font_size: 50
foreground_color: [1, 1, 1, 0.7]
当我把整个设置作为一个小部件添加进去时,图片的大小会随着窗口的变化而改变,而文本的大小却没有变化,这导致文本不再位于图片的中间,并且文本的大小对图片来说太大了。
1 个回答
0
当你使用提示来调整小部件的大小时,这些小部件会随着窗口的大小而变化。但是,文本的大小不会跟着变化。你可以通过编程的方式来改变字体大小,或者在处理带有文本的项目时使用固定的小部件大小。
另外,kivy.metrics这个工具很有用,它可以确保在不同的平台和屏幕分辨率下,大小相同的对象看起来都是一样大的。你可以在这里找到更多信息:https://kivy.org/doc/stable/api-kivy.metrics.html#module-kivy.metrics。