Spanish Escalar las letras

Chelu

Member
Licensed User
Longtime User
¿Alguien ha conseguido escalar las letras adecuadamente para que se adapten a todas los dispositivos?

Yo he probado con el CheckDeviceType, con el TextSizeRatio, pero no escala bien.
He creado una función propia en función de resolucion horizontal x resolucion vertical. Pero nada.
He probado otra más compleja que también tiene en cuenta el lv.Scale.
Pero siempre encuentro dispositivos en los que no se lee la letra, o se sale del sitio.
:sign0085:
 

Chelu

Member
Licensed User
Longtime User
Muchas gracias, muy interesante.
No es exactamente lo que buscaba. Mas bien buscaba lo contrario, saber el tamaño máximo que admitiría una view, dada su height.
Pero me puede servir. Muchas gracias de nuevo, no lo hubiera encontrado sin tu ayuda.
 

jota

Active Member
Licensed User
Longtime User
Para lo contrario tienes MeasureStringHeight,MeasureStringWidth en el comando canvas que dentro de un bucle puedes ir reduciendo el tamaño hasta asegurar que encaga en alto y ancho dentro de la view.

un codigo +- asi deberia sevir

Sub tamanoTexto(view1 As View,texto1 As String,typeFace1 As Typeface) As Int
Dim bucle As Int
Dim bmp As Bitmap : bmp.InitializeMutable(view1.Width,view1.Height)
Dim canvas1 As Canvas : canvas1.Initialize(bmp)
For bucle = 120 To 0 Step -1
If canvas1.MeasureStringHeight(texto1,typeFace1,bucle) <= view1.Height Then
If canvas1.MeasureStringWidth(texto1,typeFace1,bucle) <= view1.Width Then
Return bucle
End If
End If
Next
End Sub
 
Top