我创建了不同的dimens.xml文件并将它们放在适当的值文件夹中。
我定义了以下“value”文件夹
的值, 价值观大, 值正常, 值小, 价值观sw320dp, 价值观sw320dp土地, 价值观sw480dp, 价值观sw600dp, values-sw720dp和 值-sw720dp陆 的
问题是当我在手机上安装应用程序< = 5英寸时,Android会选择来自 values-sw320dp 的dimens.xml。选择与屏幕密度无关。
我在S4,Moto G,S4 Mini和2.3设备上测试了应用程序。结果始终如一。
我在这里做错了什么?
答案 0 :(得分:8)
现在我很清楚,values-sw320dp
将成为dimens.xml
被选为电话的唯一文件夹< = 5英寸属于该类别。
我犯的错误是忽略了320dp尺寸屏幕的屏幕密度。
所以我找到的解决方案是根据屏幕密度创建不同的值文件夹,即创建名为values-sw320dp-ldpi, values-sw320dp-mdpi, values-sw320dp-hdpi, values-sw320dp-xhdpi and values-sw320dp-xxhdpi
的文件夹,并在其中放置相应的dimens.xml
文件。
我希望这对那些可能偶然发现这个问题的人有所帮助。
答案 1 :(得分:4)
我不知道你尝试的方式有什么问题。但我总是创建值文件夹,如值,values-ldpi,values-mdpi,values-hdpi,values-xhdpi,values-w360dp-mdpi,values-w600dp-mdpi等等。它总是为我工作。