gpt4 book ai didi

java - 为什么 1dp 在 Android 上同时表示 3px 和 2px?

转载 作者:行者123 更新时间:2023-12-01 17:49:21 24 4
gpt4 key购买 nike

我对 GridView 使用以下样式:

<style name="CaldroidDefaultGridView">
<item name="android:adjustViewBounds">true</item>
<item name="android:gravity">center_horizontal</item>
<item name="android:listSelector">@null</item>
<item name="android:background">@color/caldroid_lighter_gray</item>
<item name="android:horizontalSpacing">1dp</item>
<item name="android:padding">1dp</item>
<item name="android:verticalSpacing">1dp</item>

在 Pixel 2 模拟器上,它显示 3px 的填充和 2px 的间距。如果我隐式指定 2px 来填充和间距,那么它会显示 2px - 所以任何地方都没有额外的像素。

它发生在两个方向上——水平和垂直。对于内边距,1dp 始终意味着 3px。对于间距 1dp 始终意味着 2px。

为什么 1dp 在 Android 上同时表示 3px 和 2px?那么我怎样才能得到实际值呢?因为我需要了解他们。

P.S.我知道所陈述的事实很难让人相信,所以我可以提供截图作为证据。

最佳答案

dp 表示与密度无关的像素。每部智能手机都有不同的数字,如果我没记错的话,大约是 300dp - 420dpi。无论如何,您的智能手机屏幕应该为 1920x1080。这是因为 1dp 可能同时是 2-3px。

您可以在官方开发者 Android 网站上了解更多信息。

https://developer.android.com/training/multiscreen/screendensities

关于java - 为什么 1dp 在 Android 上同时表示 3px 和 2px?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52229833/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com