Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

123
Views
¿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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!