Ho provato questo ....Android DisplayMetrics restituisce le dimensioni dello schermo non corretta in pixel su ICS
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int fullscreenheight = metrics.heightPixels;
int fullscreenwidth = metrics.widthPixels;
e ....
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
int height = size.y;
Il GNEX ha un display di 720 × 1280 . Il risultato restituito per la larghezza/altezza (a seconda dell'orientamento ovviamente) non è mai 1280. Ho pensato che questo potrebbe avere qualcosa a che fare con il sullo schermo barra di navigazione in Ice Cream Sandwich, quindi mi nasconde che con:
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
... e quindi ha avviato una discussione che registra continuamente l'altezza/larghezza della dimensione dello schermo. Anche dopo che la barra di navigazione di ICS era completamente sparita ... le dimensioni dello schermo non avrebbero mai riportato il valore 1280. Vorrei ottenere numeri come questo:
width = 720
height = 1184
Come si ottiene la risoluzione dello schermo del dispositivo reale in ICS?
Il motivo per cui ho bisogno di questo valore è perché la mia app riproduce video e vorrei per il video ad occupare l'intero schermo quando il dispositivo è in orientamento orizzontale. Ora so cosa stai pensando, perché non dare semplicemente alla videoview il valore di "match_parent" per l'altezza/larghezza? Il motivo è perché i miei video hanno più proporzioni e mi piacerebbe essere in grado di calcolare la dimensione del video corretta a seconda dell'intera larghezza dello schermo.
- e perché Google deve farmi andare crudo? – dell116
Grazie mille, mi fa risparmiare un sacco di problemi – Diljeet
Su Android 4.2 (API 17) e versioni successive, è possibile utilizzare Display.getRealMetrics per ottenere le metriche di visualizzazione fisica effettive. Ho confermato che funziona sul mio Samsung Galaxy Nexus con Jelly Bean (4.2.1). Vedi http://developer.android.com/reference/android/view/Display.html#getRealMetrics(android.util.DisplayMetrics) –