French getRealSize

scrat

Active Member
Licensed User
Longtime User
Bonjour

Je cherche a utiliser la fonction getRealSize de l'api android avec la lib reflection

Display | Android Developers

j'utilise ceci
B4X:
Dim aReflector As Reflector
aReflector.Target = aReflector.GetActivity
aReflector.Target = aReflector.RunMethod("getWindowManager")
aReflector.Target = aReflector.RunMethod("getDefaultDisplay")

Je ne vois pas comment passer le Type Point de GetRealSize

Merci
 

stevel05

Expert
Licensed User
Longtime User
Hi I think this should work but only on Android 4.2+ so I can't test it. I have tested in on getSize available on earlier releases, so it should work.

Salut Je pense que cela devrait fonctionner, mais seulement sur Android 4.2 + donc je ne peux pas tester. Je n'ai testé que sur getSize disponible sur les versions précédentes, donc ça devrait fonctionner.

Translation thanks to Google.


B4X:
Dim Point As Object
Dim aReflector As Reflector
Point=aReflector.CreateObject("android.graphics.Point")

aReflector.Target = aReflector.GetActivity
aReflector.Target = aReflector.RunMethod("getWindowManager")
aReflector.Target = aReflector.RunMethod("getDefaultDisplay")
aReflector.RunMethod4("getRealSize",Array As Object(Point),Array AS String("android.graphics.Point"))
Log(Point)
 
Last edited:

scrat

Active Member
Licensed User
Longtime User
Merci cela fonctionne.

Juste un problème : comment caster le type <android.graphics.Point> en deux int ou un tableau ?
 

scrat

Active Member
Licensed User
Longtime User
en fait c'est simple !

B4X:
Dim x,y as int
aReflector.Target=point
x=aReflector.GetField("x")
y=aReflector.GetField("y")

Merci encore
 
Top