A way of getting screen sizes of the device in pixels and density independent pixels (dp)
Get screen width in pixels:
Java:
1 2 3 |
private int getScreenWidth(final Context context) { return context.getResources().getDisplayMetrics().widthPixels; } |
Kotlin:
1 2 3 |
private fun getScreenWidth(context: Context): Int { return context.resources.displayMetrics.widthPixels } |
Get screen height in pixels:
Java:
1 2 3 |
private Int getScreenHeight(final Context context) { return context.getResources().getDisplayMetrics().heightPixels; } |
Kotlin:
1 2 3 |
private fun getScreenHeight(context: Context): Int? { return context.resources.displayMetrics.heightPixels } |
Get screen width in dp (density pixels):
Java:
1 2 3 4 |
private float getWidthInDP(Context context) { DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics(); return displayMetrics.widthPixels / displayMetrics.density; } |
Kotlin:
1 2 3 4 |
private fun getWidthInDP(context: Context): Float { val displayMetrics = context.resources.displayMetrics return displayMetrics.widthPixels / displayMetrics.density } |
Get screen height in dp (density pixels):
Java:
1 2 3 4 |
private float getHeightInDP(Context context) { DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics(); return displayMetrics.heightPixels / displayMetrics.density; } |
Kotlin:
1 2 3 4 |
private fun getHeightInDP(context: Context): Float { val displayMetrics = context.resources.displayMetrics return displayMetrics.heightPixels / displayMetrics.density } |
Get screen density:
Java:
1 2 3 |
private float getScreenDensity(Context context) { return context.getResources().getDisplayMetrics().density; } |
Kotlin:
1 2 3 |
private fun getScreenDensity(context: Context): Float { return context.resources.displayMetrics.density } |