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

121
Vistas
¿Cómo detecto el nivel de zoom de pantalla configurado por el usuario en kotlin?

Estoy tratando de encontrar una manera en Kotlin para detectar el nivel de zoom de visualización que un usuario ha configurado en su dispositivo. Actualmente tengo dos botones de imagen con etiquetas a un lado sentados uno al lado del otro en un LinearLayout. Las etiquetas se ajustan a la mitad de la palabra si el zoom de la pantalla se establece más allá de un cierto umbral. Lo que me gustaría hacer es detectar el nivel de zoom (o como se llame) y apilarlos verticalmente si el texto supera cierto tamaño para que los usuarios con una vista menos que ideal puedan leerlos correctamente. ¿Es esto posible en Kotlin?

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

0

DisplayMetrics.DENSITY_DEVICE_STABLE existe específicamente para este propósito. Compare eso con su densidad Dpi actual.

over 4 years ago · Santiago Trujillo Denunciar

0

Le sugiero que use un FlexboxLayout que haga lo que desea lograr aquí.

Sin embargo, si insiste en usar un LinearLayout e invierte su dirección dependiendo del clima que su texto encaje allí o no, puede usar un BoringLayout que lo ayuda a calcular el ancho requerido para dibujar un texto determinado, por ejemplo, el siguiente código indica cuánto espacio requiere SomeText para ser dibujado usando una pintura con textSize=20 SP . Entonces, dependiendo de este valor, puede decidir cómo establecer la orientación de su LinearLayout

 val paint = TextPaint().apply { textSize = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, 20f, context.resources.displayMetrics) } BoringLayout.getDesiredWidth("SomeText", paint)
over 4 years ago · Santiago Trujillo Denunciar

0

Pude encontrar los valores que necesitaba en el espacio de nombres de configuration . Hay dos configuraciones de usuario que afectan el diseño, Escala de fuente y Zoom de pantalla, las cuales se pueden configurar de forma independiente entre sí.

 val config = resources.configuration val fontScale = config.fontScale val screenWidth = config.screenWidthDp
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