Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

604
Vistas
Convert Dp to Px in Kotlin - This cast can never succeed

I ran into a problem while coding in Kotlin. I copy-pasted a java code sample that converts DP to Pixels, in order to place it as a parameter for setting padding programatically. I was expecting the IDE to automatically transform it all to Kotlin, however it failed in the process.

The code in Java looks like the following:

float scale = getResources().getDisplayMetrics().density;
int dpAsPixels = (int) (sizeInDp*scale + 0.5f);

After the translation to Kotlin:

val scale = resources.displayMetrics.density
val dpAsPixels = (sizeInDp * scale + 0.5f) as Int 

The cast as Int is marked with the error

"This cast can never succeed"

How can this be fixed?

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Why not trying it with an Extension Function such as

val Int.dp: Int get() = (this / getSystem().displayMetrics.density).toInt()

to convert to DP and

val Int.px: Int get() = (this * getSystem().displayMetrics.density).toInt()

to convert to Pixels?

Hope it helps :)

over 4 years ago · Santiago Trujillo Denunciar

0

The error can be solved by removing the cast as Int and instead replace it with the method .toInt()

val scale = resources.displayMetrics.density
val dpAsPixels = (16.0f * scale + 0.5f).toInt()
over 4 years ago · Santiago Trujillo Denunciar

0

If you have value in dimens.xml

<dimen name="textSize">24dp</dimen>

Then, you can get value in pixel as Int

val value = resources.getDimensionPixelSize(R.dimen.textSize)
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda