簡體   English   中英

為什么1dp在Android上同時表示3px和2px?

[英]Why does 1dp mean 3px and 2px at the same time on Android?

我對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? 那我怎么得到實際值呢? 因為我需要了解他們。

附言:我知道很難相信所陳述的事實,因此我可以提供屏幕截圖作為證明。

dp表示與密度無關的像素。 每個智能手機都有一個不同的數字,大約300dp-420dpi(如果我不記得不好的話)。 無論如何,您的智能手機的屏幕應該為1920x1080。 這是因為1dp可能同時為2-3px。

您可以在Android開發者官方網站上閱讀更多內容。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM