320*_*20V 4 optimization android resolution screen kivy
我刚刚开始使用 kivy 进行编码并致力于它。但我想知道,如何优化 apk 应用程序的屏幕分辨率。Window.size = (423,750)我的意思是,我在使用此分辨率进行编码后使用和控制。因此尝试使用 boxlayouts、size_hints 创建所有小部件。但是当我在 Genymotion 或 Android 设备上检查我的应用程序时,我的小部件看起来不像我在 Linux 上创建的。
举个例子,我将其用于文本:font_size: '18sp'。但它看起来并不像我想要的那样。当我检查不同的 genymotion android 设备时,它的大小会发生变化,有时 boxlayout 会阻止其大小并使其不可读。
每个设备上是否有自动屏幕分辨率的命令,或者我应该像这样创建这些 font_size :(font_size: str(root.width*.05)+'sp'所以我应该将我的所有代码更改spacing: 30为这些spacing: root.height*.007)?任何帮助都会对像我这样的初学者有好处。我应该如何优化所有小部件和文本?感谢您的阅读和回答..
首先,不要用来Window.size控制窗口的大小,因为您不知道设备最终的大小。sp()其次,在 kv 中,您可以使用或辅助函数定义字体大小dp(),例如:
Label:
text: 'Hello'
font_size: sp(18)
Run Code Online (Sandbox Code Playgroud)
要在开发时预览应用程序,您可以通过以下方式使用不同的设备进行测试:
例如,要模拟三星 S9+,其分辨率为1440x2960,dpi 为529。你会像这样运行你的应用程序:
python main.py --size=1440x2960 --dpi=529
这将为您提供您想要的结果,如果使用此方法,我发现使用dp()辅助函数而不是dpi 更容易sp(),因为您现在拥有的是 dpi,因此 kivy 可以使用它。
请注意,如果您的屏幕小于指定尺寸,例如在我的笔记本电脑上分辨率为1366x768,您只需缩小尺寸,例如运行它:
python main.py --size=360x740 --dpi=529
它的分辨率相同,但缩放到原始尺寸的四分之一左右,以使其适合您的屏幕。
仅供参考,您还可以在文件中使用dp()和函数,只需像这样导入它们:sp().py
from kivy.metrics import dp, sp
| 归档时间: |
|
| 查看次数: |
5847 次 |
| 最近记录: |