我是Android开发的新手,目前正在为我的应用程序支持不同的屏幕尺寸和像素密度。现在,我有一个高度为@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
。那么,我理解错了什么?什么是支持较小设备的更好方法?
答案 0 :(得分:1)
基本上, 首先了解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)请参阅下面的链接
这将省去您的上述挣扎。 机制相同,但是提供了易于导入和使用的gradle。
答案 1 :(得分:0)