Bonjour à tous
J'ai crée une application multi périphérique et j'ai quelques soucis d'affichage sur certains appareils android.
Du coup j'ai décidé de créer des vues personnalisées en suivant cette documentation (http://docwiki.embarcadero.com/RADSt...lecteur_de_vue). La première partie est assez clair mais c'est dans la partie création du package que j'ai des problèmes.
En effet il y l'exemple de code ci dessous:
J'ai un peu de mal à comprendre à quoi correspondent les PhysicalSize et LogicalSize. De même il y a un facteur 2 entre les dimensions minimales et maximales d'où vient ce facteur?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 unit Unit1; interface implementation uses system.Devices, system.Types, system.SysUtils; const ViewName = 'TestView'; // The unique name of the view, it has to be the same name as the one written between <Name></Name> tags of the DevicePreset.xml file. initialization TDeviceinfo.AddDevice(TDeviceinfo.TDeviceClass.Phone, ViewName, TSize.Create(1216, 684), TSize.Create(1216 div 2, 684 div 2), // MinPhysicalSize(max, min), MinLogicalSize(max, min) TSize.Create(1280, 720), TSize.Create(1280 div 2, 720 div 2), // MaxPhysicalSize(max,min), MaxLogicalSize(max,min) TOSVersion.TPlatform.pfAndroid, 326); //Select the platform and the pixel density. finalization TDeviceinfo.RemoveDevice(ViewName); // To unregister the view after unistalling the package. end.
Dans mon cas j'ai un téléphone qui a une résolution de 1600x720 avec une densité de pixel de 269. 1600x720 sont les dimensions logique ou physique?
Merci pour tout éclaircissement
Partager