Spanish [SOLUCIONADO]Tamaño de la pantalla en pulgadas

mlc

Active Member
Licensed User
Longtime User
Hola a todos,

Por favor, podeis comprobar si este código devuelve el tamaño aproximado de la pantalla en pulgadas.

Es necesaria la libreria Reflection

B4X:
Sub Activity_Create(FirstTime As Boolean)
   Dim r As Reflector
   r.Target = r.GetContext
   r.Target = r.RunMethod("getResources")
   r.Target = r.RunMethod("getDisplayMetrics")
   'Dim xdpi As Float = r.GetField("xdpi")
   'Dim ydpi As Float = r.GetField("ydpi")
   Dim heightPixels As Int = r.GetField("heightPixels")
   Dim widthPixels As Int = r.GetField("widthPixels")
   Dim dens As Float = r.GetField("density")

   Dim physicalSize As Float
   physicalSize = Sqrt(Power(heightPixels / dens / 160, 2) + Power(widthPixels / dens / 160, 2))
   Log(physicalSize)
End Sub

Gracias
 

bgsoft

Well-Known Member
Licensed User
Longtime User
Hola Miguel

Si, ese código devuelve el tamaño de la pantalla en pulgadas, pero es mas simple emplear esto

B4X:
  Log(GetDeviceLayoutValues.ApproximateScreenSize)

Saludos
 

mlc

Active Member
Licensed User
Longtime User
Hola Miguel

Si, ese código devuelve el tamaño de la pantalla en pulgadas, pero es mas simple emplear esto

B4X:
  Log(GetDeviceLayoutValues.ApproximateScreenSize)

Saludos

Hola Jesús,

Es curioso, esto lo conocía, pero no se porque, mi obtusa mente se había emperrado en pensar que sólo se podía utilizar si antes inicializabas el layout, cosa que yo no hago, ya que no utilizo layouts.

Así que no lo había probado y ahora lo pruebo y veo que he perdido un día.

Gracias de todas maneras y saludos.
 
Top