我是Android开发的新手,目前正在为我的应用程序支持不同的屏幕尺寸和像素密度。现在,我有一个带有height @dimen/button_height的按钮。在dimens.xml中,我有以下资源:
<resources>
<dimen name="button_height">55dp</dimen>
</resources>现在,我在不同的屏幕尺寸上尝试了这个应用程序,注意到,例如,在3.3英寸的WQVGA上,按钮太大了。这个设备是240x400 px ldpi,也就是320x533 dp。
我阅读了App resources overview和Support different Screen Sizes (我不得不说,对我来说,如何支持每种设备配置仍然不是100%清楚)。根据这一点,这个设备的screen-size是small,所以我用dimens.xml (small)做了另一个资源文件
<resources>
<dimen name="button_height">30dp</dimen>
</resources>现在,当我在模拟器上尝试时,按钮仍然是55dp高电平。那么,我理解错了什么呢?支持较小设备的更好方法是什么?
发布于 2019-11-13 19:03:32
基本上,首先要了解px,dp,sp等之间的区别。
首选下面的链接
https://stackoverflow.com/a/2025541/6997819
1)支持多种屏幕尺寸
您需要创建
values-hdpi
values-xhdpi
values-xxhdpi
values-xxhdpi注:我建议除了上面的四个基本之外,还有更多的。
每个值目录都有自己的dimen.xml文件
假设,
values-hdpi中的dimen.xml文件有
<dimen name="button_height">55dp</dimen>然后在values-xhdpi内部的dimen.xml文件中,理想情况下应该增加大小
<dimen name="button_height">60dp</dimen>现在,当您执行代码时,设备将根据屏幕密度自动选择。
2)参考下面的链接
这将省去你上面的挣扎。机制是相同的,但提供了gradle,它也很容易导入和使用。
https://stackoverflow.com/questions/58835497
复制相似问题