首页 > 解决方案 > 预选赛屏幕尺寸小不适用于尺寸

问题描述

我是 Android 开发新手,目前正在为我的应用程序支持不同的屏幕尺寸和像素密度。现在,我有一个带有 height 的按钮@dimen/button_height。在dimens.xml我有以下资源:

<resources>
    <dimen name="button_height">55dp</dimen>
</resources>

现在,我在不同的屏幕尺寸上尝试了该应用程序并注意到,例如,在 3.3" WQVGA 上,按钮太大了。这个设备是240x400 px ldpi,即,320x533 dp

我阅读了应用程序资源概述支持不同的屏幕尺寸(我不得不说,对我来说,如何支持每种设备配置仍然不是 100% 清楚)。据此,screen-size该设备的 是,所以我制作了small另一个资源文件dimens.xml (small)

<resources>
    <dimen name="button_height">30dp</dimen>
</resources>

现在,当我在模拟器上尝试这个时,按钮仍然55dp很高。那么,我理解错了什么?支持小型设备的更好方法是什么?

标签: android

解决方案


基本上,首先了解px,dp,sp等之间的区别。

喜欢下面的链接

https://stackoverflow.com/a/2025541/6997819

1) 支持多种屏幕尺寸

你需要创建

values-hdpi
values-xhdpi
values-xxhdpi
values-xxhdpi

注意:我建议四个基本除了上面还有几个。

每个值目录都有自己的dimen.xml文件

认为,

dimen.xml文件里面values-hdpi

<dimen name="button_height">55dp</dimen>

然后在dimen.xml文件里面values-xhdpi你应该理想地增加大小

<dimen name="button_height">60dp</dimen>

现在,当您执行代码时,设备将根据屏幕密度自动选择。

2)参考以下链接

https://github.com/intuit/sdp

这将省略您的上述斗争。机制相同,但提供了易于导入和使用的 gradle。


推荐阅读