How to check an Android device is HDPI screen or MDPI screen?

前端 未结 7 2211
你的背包
你的背包 2020-11-27 09:27

I want to check this to fetch different images by internet. How to do that?

7条回答
  •  无人及你
    2020-11-27 10:02

    You should always check the interval not only break point values!

    According to android documentation: https://developer.android.com/reference/android/util/DisplayMetrics

    Check it like this in Kotlin:

        when {
                    val density: Float = context?.resources?.displayMetrics?.density
    
                    // ldpi
                    (density <= 0.75f) -> mulFactor = 0.75f
    
                    // mdpi
                    (density >= 0.75f && density <= 1.0f) -> mulFactor = 1.0f
    
                    // hdpi
                    (density > 1.0f && density <= 1.5f) -> mulFactor = 1.5f
    
                    // xhdpi
                    (density > 1.5f && density <= 2.0f) -> mulFactor = 2.0f
    
                    // xxhdpi
                    (density > 2.0f && density <= 3.0f) -> mulFactor = 3.0f
    
                    // xxxhdpi
                    (density > 3.0f) -> mulFactor = 4.0f
    
             }
             return mulFactor;
    

提交回复
热议问题