我正在使用 onCreateOptionsMenu 方法在我的应用程序的 MainActivity 中创建一个带有图标的工具栏。我正在使用 Android Studio 的模拟器测试不同的屏幕尺寸和像素密度。文档指出, “根据
当前屏幕的密度,系统会使用您应用程序中任何特定于密度的资源。如果资源没有以正确的密度可用,系统会加载默认资源并根据需要放大或缩小它们。”
我已经尝试将我所有的矢量图标都放在默认的可绘制目录中,但是系统根本不会针对不同的屏幕尺寸或密度来缩放它们。onCreateOptionsMenu 也不会缩放工具栏或标题文本的高度。它应该吗?
正因为如此,我也尝试使用不同的密度桶来解决这个问题。但是,我遇到了一个问题,即共享相同密度桶的屏幕尺寸差异很大。例如,我在 Pixel 3(5.5 英寸手机)和 Pixel C(10 英寸平板电脑)上进行测试。他们使用相同的密度桶 (xhdpi),所以如果我在手机上使用 24dp x 24dp 图标,那么它在平板电脑上看起来太小了。我该如何解决这个问题?
问问题
66 次
1 回答
0
您可以将多个限定符串在一起并创建一个自定义存储桶。因此,除了 drawable-xhdpi 存储桶外,我还为 10" 平板电脑添加了带有更大图标的 drawable-sw720dp-xhdpi 存储桶。现在平板电脑显示稍大的图标,而手机仍使用标准存储桶。解决方案可以在@Theo在这篇文章中对所选答案的评论。不幸的是,文档没有说明支持多个限定符。
于 2021-01-08T21:47:21.767 回答