android - 如何为不同的屏幕分辨率安排dimens.xml?
问题描述
我有 2 台测试设备,即 Oneplus 3T 和三星 S9。我在 xxhdpi 文件夹(用于 Oneplus 3T)和 xxxhdpi 文件夹(用于三星 S9)中创建了 dimens.xml。坦率地说,这两款设备都使用来自 xxhdpi 的 dimens.xml。我已经尝试将文件夹更改为 sw400dp-xxhdpi 和 sw420dp-xxhdpi,但两个设备仍然从 xxhdpi 文件夹中获取尺寸。
我应该如何安排我的 dimens.xml 文件,以便为每个相应的设备分别应用不同的尺寸。
提前致谢。
更新
我已经设法删除了我的 xxhdpi 文件夹,并在文件夹 values-sw360dp NOT values-sw400dp 中为 Oneplus 3T 定义了dimens.xml,即使规范说它有 401 ppi。values-sw400dp 不适用于 S9。
更新
原来S9有3种显示分辨率选择,分别是hd、fhd和wqhd。xhdpi 适用于 hd,xxhdpi 适用于 fhd,xxhdpi 适用于 wqhd。不幸的是,在调试模式下,我看不到差异。
解决方案
您必须为这种情况创建多个 dimens.xml 文件。
values-sw720dp 10.1” tablet 1280x800 mdpi
values-sw600dp 7.0” tablet 1024x600 mdpi
values-sw480dp 5.4” 480x854 mdpi
values-sw480dp 5.1” 480x800 mdpi
values-xxhdpi 5.5" 1080x1920 xxhdpi
values-xxxhdpi 5.5" 1440x2560 xxxhdpi
values-xhdpi 4.7” 1280x720 xhdpi
values-xhdpi 4.65” 720x1280 xhdpi
values-hdpi 4.0” 480x800 hdpi
values-hdpi 3.7” 480x854 hdpi
values-mdpi 3.2” 320x480 mdpi
values-ldpi 3.4” 240x432 ldpi
values-ldpi 3.3” 240x400 ldpi
values-ldpi 2.7” 240x320 ldpi
推荐阅读
- vb.net - 在 VB.net 中查找数据表中的重复行
- kotlin - 引用接口中定义的属性,kotlin
- javascript - React Native Firebase - createUserWithEmailAndPassword:第一个参数“电子邮件”必须是有效字符串
- c++ - MVC 设计模式 QT
- javascript - 验证多个字段并显示消息
- mysql - 如何清除此错误:UnhandledPromiseRejectionWarning: TypeError: callback is not a function
- google-chrome-extension - 我需要在我的 chrome 扩展中声明 host_permissions 吗?
- flutter - Flutter:需要更新身份验证服务类
- python - 为什么我的 s3 存储桶的预签名 URL 在部署时看起来不同?
- android - 在android studio上保存按钮状态