【发布时间】:2020-12-26 23:56:06
【问题描述】:
我有 2 台设备 nexus 5(1920x1080) 和三星 a50(2340x1080)
我需要这些设备上的布局高度不同
我创建了dimens - (xhdpi, xxhdpi, xxxhdpi, w1080-h1920, w1080-h2340) 但是marginBottom 的dp 仍然取自xxhdpi,这些设备的方式相同 事实证明,三星和nexus上的一切都很漂亮,它不适合屏幕 怎么区分?
【问题讨论】:
我有 2 台设备 nexus 5(1920x1080) 和三星 a50(2340x1080)
我需要这些设备上的布局高度不同
我创建了dimens - (xhdpi, xxhdpi, xxxhdpi, w1080-h1920, w1080-h2340) 但是marginBottom 的dp 仍然取自xxhdpi,这些设备的方式相同 事实证明,三星和nexus上的一切都很漂亮,它不适合屏幕 怎么区分?
【问题讨论】:
您应该将您的值目录命名为 Samsung values-h2340dp。假设 2340x1080 是 dp,而不是像素。您不应该使用xhdpi 或任何其他*dpi 作为维度。
文档:https://developer.android.com/guide/topics/resources/providing-resources
【讨论】:
values 和dimens.xml。这个维度将被 nexus 和任何其他设备使用。如果您使用单独的尺寸添加values-h2340dp,则仅当设备的高度> = 2340dp 时才会使用这些。在您的情况下是三星 A50 设备。如果您还需要针对 Nexus 的特定内容,请为 Nexus 添加带有尺寸的 values-h1920dp。