Georg
- Forum-Beiträge: 12
31.03.2014, 21:00:31 via Website
31.03.2014 21:00:31 via Website
Hallo,
Ich zeichne mit Canvas Linien für eine 480*800 Pixel auflösung.
Damit das auch für andere Auflösungen funktioniert benutze ich folgendes:
Durch rumprobieren hab ich jetzt rausgefunden das ich z.B. für mein lg g2(1920*1080) noch - 0.75 rechnen muss damit alles richtig angezeigt wird.
Jetzt ist meine Frage wie ich das ganze dynamisch für alle Auflösungen ab 480*800 Pixel lösen kann ?
Ich zeichne mit Canvas Linien für eine 480*800 Pixel auflösung.
Damit das auch für andere Auflösungen funktioniert benutze ich folgendes:
1DisplayMetrics metrics = new DisplayMetrics();
2getWindowManager().getDefaultDisplay().getMetrics(metrics);
3float screenDensity = metrics.density;
4scale = getScale(screenDensity);
5
6
7float getScale(float value)
8{
9 //480 x 800
10 if(value == 1.5)
11 {
12 value -= (float)0.5;
13 return value;
14 }
15
16 //1920 x 1080
17 if(value == 3)
18 {
19 return (value-(float)0.75);
20 }
21 return -1;
22}
2getWindowManager().getDefaultDisplay().getMetrics(metrics);
3float screenDensity = metrics.density;
4scale = getScale(screenDensity);
5
6
7float getScale(float value)
8{
9 //480 x 800
10 if(value == 1.5)
11 {
12 value -= (float)0.5;
13 return value;
14 }
15
16 //1920 x 1080
17 if(value == 3)
18 {
19 return (value-(float)0.75);
20 }
21 return -1;
22}
Durch rumprobieren hab ich jetzt rausgefunden das ich z.B. für mein lg g2(1920*1080) noch - 0.75 rechnen muss damit alles richtig angezeigt wird.
Jetzt ist meine Frage wie ich das ganze dynamisch für alle Auflösungen ab 480*800 Pixel lösen kann ?
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.