Android 缩放:dp 单位似乎不能正常工作
Android scaling: dp units do not seem to work properly
所以我在 xml 中为我的应用程序编写了一堆代码,开始在不同的设备上尝试它并遇到了一个问题:虽然我只使用 dp 单位(和 sp 用于文本),视觉输出在具有不同屏幕尺寸和密度的模拟器上变化很大。
例如,我在一个屏幕上获得了正确的输出,而在尺寸相似但密度更高的屏幕上获得了完全不同的输出(非常缩放)。我认为使用 dp 单位应该可以控制屏幕密度的差异,但它并没有发生。我错过了什么吗?
我正在考虑的一个解决方案是制作不同的 "dimens.xml" 文件,对大小和密度应用不同的限定符。但是经过几个小时的研究,我才意识到对布局文件使用密度限定符(dimens.xml 被认为是其中之一?)并不是一个好的做法。此外,即使我这样做,我想我最终也会得到几十个不同的 "dimens.xml" 文件,这并不好。
所以,我的问题是我应该如何解决这个缩放问题?
谢谢
PS。我已经为 android 开发了大约一个月,所以如果我遗漏了一些微不足道的东西,请原谅 :)
尝试使用这个库 Intuit/sdp。它提供了一个新的单位,sdp 或可扩展的 dp。它可以根据屏幕尺寸缩放您的尺寸,并且非常易于使用。这应该可以解决您的问题。
所以我在 xml 中为我的应用程序编写了一堆代码,开始在不同的设备上尝试它并遇到了一个问题:虽然我只使用 dp 单位(和 sp 用于文本),视觉输出在具有不同屏幕尺寸和密度的模拟器上变化很大。
例如,我在一个屏幕上获得了正确的输出,而在尺寸相似但密度更高的屏幕上获得了完全不同的输出(非常缩放)。我认为使用 dp 单位应该可以控制屏幕密度的差异,但它并没有发生。我错过了什么吗?
我正在考虑的一个解决方案是制作不同的 "dimens.xml" 文件,对大小和密度应用不同的限定符。但是经过几个小时的研究,我才意识到对布局文件使用密度限定符(dimens.xml 被认为是其中之一?)并不是一个好的做法。此外,即使我这样做,我想我最终也会得到几十个不同的 "dimens.xml" 文件,这并不好。
所以,我的问题是我应该如何解决这个缩放问题? 谢谢
PS。我已经为 android 开发了大约一个月,所以如果我遗漏了一些微不足道的东西,请原谅 :)
尝试使用这个库 Intuit/sdp。它提供了一个新的单位,sdp 或可扩展的 dp。它可以根据屏幕尺寸缩放您的尺寸,并且非常易于使用。这应该可以解决您的问题。