W menedżerze AVD jeśli zdecydujesz wbudowany skórze wtedy gęstość LCD Abstracted jest ignorowany i będzie ustawić gęstość jak opisano tutaj:
Emulator Skórki (od http://developer.android.com/tools/revisions/platforms.html)
dostępna do pobrania platformy obejmuje następujące skóry wiązki:
- QVGA (240x320 niskiej gęstości, małe ekran)
- WQVGA400 (240x400, niska gęstość, normalny ekran)
- WQVGA432 (240x432, niska gęstość, normalny ekran)
- HVGA (320x480, średniej gęstości, ekran normalnego)
- WVGA800 (480x800 wysokiej gęstości, normalny ekran)
- WVGA854 (480x854 wysokiej gęstości, ekran normalnego)
- WXGA720 (1280x720, bardzo wysokiej gęstości, ekran normalnego)
- WSVGA (1024x600, średnia gęstość, duży ekran)
- WXGA800-7in (1280x800, wysoka gęstość, duży ekran) nowy
- WXGA800 (1 280 x 800, średnia gęstość, ekran Xlarge)
Jeśli chcesz ustawić własną gęstość ekranu LCD, musisz ręcznie zdefiniować własną rozdzielczość, klikając przycisk Rozdzielczość.
Oto niektóre kodu można użyć do testowania to:
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int density = metrics.densityDpi;
if (density == DisplayMetrics.DENSITY_HIGH) {
Toast.makeText(this, "DENSITY_HIGH... Density is " + String.valueOf(density), Toast.LENGTH_LONG).show();
}
else if (density == DisplayMetrics.DENSITY_MEDIUM) {
Toast.makeText(this, "DENSITY_MEDIUM... Density is " + String.valueOf(density), Toast.LENGTH_LONG).show();
}
else if (density == DisplayMetrics.DENSITY_LOW) {
Toast.makeText(this, "DENSITY_LOW... Density is " + String.valueOf(density), Toast.LENGTH_LONG).show();
}
else {
Toast.makeText(this, "Density is neither HIGH, MEDIUM OR LOW. Density is " + String.valueOf(density), Toast.LENGTH_LONG).show();
}
Dziękuję za odpowiedź. Niestety, już próbowaliśmy ustawić gęstość na 320dpi wewnątrz menedżera AVD, ale w emulatorze jest on ustawiony na 240dpi. Myślę, że czytałem gdzieś o tym problemie i miałem nadzieję, że może istnieje obejście lub możliwe rozwiązanie tego problemu, ponieważ jest to całkiem nowy problem. –
Interesujące. Nie czytałem jeszcze o tej kwestii. Czy możesz spróbować znaleźć i opublikować ten link? –
Udało mi się znaleźć taki post wczoraj, nie dając mu zbyt wiele czasu, ale niestety nie mogę tego znaleźć. Myślę, że było to w oficjalnych grupach Google dla programistów Androida. W każdym razie mój kod uzyskiwania gęstości jest następujący i zawsze zwraca 240 dla nowego profilu ekranowego Archos: DisplayMetrics displayMetrics = new DisplayMetrics(); getWindowManager(). GetDefaultDisplay(). GetMetrics (displayMetrics); końcowa int density = displayMetrics.densityDpi; –