Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

116
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda