1

我试图让我的游戏在不同的设备上看起来/缩放得很好。我试图尽可能多地将dpsp指标引入我的应用程序,但在这种情况下,我正在重构游戏以使用这些指标进行布局和小部件大小调整。

在以前,我的布局是使用大小调整size_hint的,以便让所有东西都得到它相对于它的父级的大小(应用程序本身没有给定大小,窗口也没有,但根小部件/布局有size_hint=(1, 1)),我现在面临替换这个系统有dp价值观,无法弄清楚它们应该是什么。

我在想,如果我只是调整root 小部件App本身或Window的大小dp,那么我可以继续使用size_hinting,因为这会产生涓滴效应并从上到下正确缩放所有内容,可以这么说。为此,似乎获得设备屏幕的分辨率或密度会很有帮助(因此我可以使用它来调整每个设备的根小部件/应用程序/窗口的大小)。Kivy 可以吗?这行得通吗?有没有更好的办法?你会怎么做?谢谢

4

1 回答 1

2

单独使用 size_hint 已经保证了一定程度的规模独立性,因为(正如您所注意到的)所有大小都是相对的。

Kivy 内部会检查设备的一些分辨率相关的值,这基本上就是 dp 的重点;例如,就屏幕上的实际尺寸而言,任何设备上的实际尺寸都应该相同,例如厘米dp(10)。这实际上并不完全正确,如果没有别的,我认为设备不会报告准确正确的结果,但除非这非常重要,否则它已经可以让事情在任何地方看起来都一样。

我不确定您对设置应用程序大小的意思是什么——在 Android 的窗口管理器中,一个应用程序只会填满屏幕(至少在大多数情况下)。

于 2015-06-24T22:29:01.257 回答