gpt4 book ai didi

android - python 基维 : How to optimize screen resolution for all devices?

转载 作者:行者123 更新时间:2023-12-04 23:55:10 25 4
gpt4 key购买 nike

我刚刚开始使用 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: 30spacing: root.height*.007 )?任何帮助都会对像我这样的初学者有好处。我应该如何优化所有小部件和文本?感谢阅读和回答..

最佳答案

首先,不要使用Window.size 来控制窗口的大小,因为您不知道最终设备的大小。其次,在 kv 中,您可以使用 sp()dp() 辅助函数定义字体大小,例如:

Label:
text: 'Hello'
font_size: sp(18)

要在开发过程中预览您的应用,您可以通过以下方式使用不同的设备进行测试:

  1. 检查相应设备的分辨率
  2. 检查设备的 dpi

例如,模拟 三星 S9+,其分辨率为 1440x2960,dpi 为 529。你会像这样运行你的应用程序:

python main.py --size=1440x2960 --dpi=529

这会给你想要的结果,如果使用这种方法,我发现使用 dp() 辅助函数而不是 sp() 更容易> 因为你现在拥有的是 dpi,所以 kivy 可以使用它。

请注意,如果您的屏幕小于指定尺寸,例如在我的分辨率为 1366x768 的笔记本电脑上,您只需按比例缩小尺寸,例如运行它:

python main.py --size=360x740 --dpi=529

它的分辨率相同,但缩放到原始大小的四分之一左右,以适合您的屏幕。

仅供引用,您还可以在 .py 文件中使用 dp()sp() 函数,只需像这样导入它们:

从 kivy.metrics 导入 dp, sp

关于android - python 基维 : How to optimize screen resolution for all devices?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62498639/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com