Android 菜单图标缩放问题

Android menu icons scaling issue

我正在使用 onCreateOptionsMenu 方法在我的应用程序的 MainActivity 中创建一个带有图标的工具栏。我正在使用 Android Studio 的模拟器在不同的屏幕尺寸和像素密度上进行测试。 documentation 声明,

“根据当前屏幕的密度,系统使用您应用中的任何 density-specific 资源。如果资源在正确的位置不可用密度,系统加载默认资源并根据需要扩大或缩小它们。”

我试过将所有矢量图标放在默认的可绘制目录中,但系统根本不会针对不同的屏幕尺寸或密度缩放它们。 onCreateOptionsMenu 也不会缩放工具栏或标题文本的高度。应该吗?

因此,我也尝试过使用不同的密度桶来解决这个问题。但是,我 运行 遇到了共享相同密度桶的屏幕尺寸差异很大的问题。 例如,我正在 Pixel 3(5.5" phone)和 Pixel C(10" 平板电脑)上进行测试。他们使用相同的密度桶 (xhdpi),所以如果我为 phone 使用 24dp x 24dp 图标,那么它在平板电脑上看起来太小了。我该如何解决这个问题?

您可以将多个限定符串在一起并创建自定义存储桶。因此,除了 drawable-xhdpi 桶之外,我还为 10" 平板电脑添加了一个带有更大图标的 drawable-sw720dp-xhdpi 桶。现在平板电脑显示稍大的图标,而 phone 仍然使用标准桶。解决方案可以可以在@Theo post 中所选答案的评论中找到。不幸的是,文档没有说明支持多个限定符。