Comment obtenir la résolution de l'écran sous Android Honeycomb?
Je veux obtenir une réelle résolution de l'écran sur Android Honeycomb.
Voici mon code
Display display = getWindowManager().getDefaultDisplay();
int w = display.getWidth();
int h = display.getHeight();
Mon appareil est Asus transformer TF101 avec la taille de 1280x800.
Mais au-dessus de code à faire w = 1280 et h = 752 (Que je veux, c'est 800 pas 752).
Je sais h < 800 parce que c'est soustrait pour la barre d'état.
Ont aucun moyen de s'réel de la hauteur de l'écran?
Merci beaucoup!
@alexanderblom Il n'est pas facile à expliquer pour mon cas. Mais j'ai vraiment besoin d'obtenir la pleine hauteur ou la barre d'état de Nid d'abeille. Merci!
OriginalL'auteur Levanphong7887 | 2011-08-27
Vous devez vous connecter pour publier un commentaire.
De départ Andorid 3.2, la hauteur de la barre d'état système n'est pas inclus dans DisplayMetrics de la hauteur, vous devez utiliser des sans-papiers Api (l'Affichage.getRawWidth() et de l'Affichage.getRawHeight()) pour obtenir la largeur de l'écran physique ou de la hauteur.
Voici l'exemple pour vous montrer comment obtenir la largeur de l'écran physique ou de la hauteur.
Mise à JOUR:
Pour l'API 13-16, vous devez utiliser le code ci-dessus pour obtenir la vraie largeur/hauteur.
Pour l'API 17+, vous pouvez maintenant utiliser la nouvelle API publique, d'Affichage.getRealSize().
OriginalL'auteur Sam Lu
Vous êtes ici, avec un peu d'astuce et de l'hypothèse que l'écran de décorations sont sur haut/bas et jamais sur gauche/droite:
OriginalL'auteur Pointer Null
J'ai une Xoom dans la main, et utilisé
getWindowManager().getDefaultDisplay()
pour récupérer la dimension, il me renvoie 1280 x 800 qui est la taille de l'écran. Je me demande comment faire pour obtenir la résolution du moins la barre de navigation de l'API avant la version 3.0.OriginalL'auteur Victor Wong
Utiliser le DisplayMetrics structure, décrivant des informations générales à propos de l'affichage, tels que la taille, la densité et la mise à l'échelle police.
Le code utilisé pour obtenir l'affichage de la hauteur est comme suit:
Il est censé retourner à la hauteur absolue de l'écran, en pixels.
Sur Nid d'abeille, ce n'est pas le rapport physique réel la taille de l'écran.
OriginalL'auteur luvieere
La réponse que vous obtenez, comme correctement déduit est à cause de la barre d'état. Tout ce que vous avez à faire est de se débarrasser de la barre d'état avant votre fenêtre d'affichage initiés. Et puis vous pouvez réinitialiser la barre d'état avant de définir l'affichage du contenu de l'activité.
La raison de faire de cette façon est que se débarrasser de la barre d'état affecte votre point de vue dessin, à moins que vous manipulez tous les mesure, la mise en page et d'afficher dynamiquement. Cela est le centre de votre exécution sera la cause de la barre d'état pour disparaître, puis réapparaître si vous le souhaitez, ce qui crée la confusion auprès des utilisateurs.
Pour Masquer la Barre d'état:
Dans votre onCreate():
Maintenant votre Affichage par Défaut devrait fonctionner correctement
Toujours dans votre onCreate():
Maintenant, avant de définir le Contenu
Encore une fois, dans votre onCreate():
Enfin:
Le code précédent segments de travailler presque n'importe où, en fait. Je suis juste à penser au sujet de votre expérience utilisateur. Se sentir libre de les placer là où, bien sûr. Ce sont des segments fonctionnels tiré de l'un de mes projets. J'ai vu des techniques similaires dans certains Lanceurs. Remarque: selon la version d'Android, vous pourriez avoir à faire la barre d'état de choses dans onWindowAttached(). Si vous le faites, assurez-vous de toujours l'appeler super.onWindowAttached().
Une Autre Technique:
Bien sûr, si vous voulez faire cela, de toute façon, vous pouvez toujours définir l'attribut de l'activité de cette façon dans votre manifeste.
C'est le cœur de cet article, une méthode pour se débarrasser de la barre de notification, puis mesurer. Cependant, cet exemple a été faite de façon significative avant d'Android 4.4. Android 4.4 ne vous permet pas de supprimer la barre de notification?
OriginalL'auteur Fuzzical Logic
Dans la question Hauteur de la barre d'état? expliquer comment vous obtenez la barre de hauteur. Avoir la
statusBarHeight
valeur, vous pouvez le faire:OriginalL'auteur vicentazo
Vous pouvez étendre une mise en page qui sera votre haut de page (qui sera mis à fill_parent largeur et hauteur) et remplacer la onSizeChange(int largeur, int hauteur, int oldwidth, int oldheight).
La largeur et la hauteur est la vraie largeur et la hauteur de votre écran.
OriginalL'auteur Raz
Peut-être vous pouvez ajouter la hauteur de la barre d'état. Hauteur de la barre d'état?
OriginalL'auteur doppelhelix
Une fonction permettant d'obtenir la taille de l'écran à API11 niveau minimum; comprend également les méthodes de niveau supérieur (Api changement de fonction à utiliser son API, son appel de fonction et de son retour type d'objet):
Remarque: La Configuration.ORIENTATION_SQUARE est obsolète, si elle est ici remplacée par défaut à la ORIENTATION_PORTRAIT.
OriginalL'auteur Epsilon3
C'est une autre solution viable pour la mesure de la taille de l'écran de l'API (11+):
Où la ABDimension classe contient six entiers marqué nWidth, nHeight, nMarginLeft, nMarginTop, nMarginRight et nMarginBottom. Cette version des comptes pour la commune de Android décor composants comme la barre de titre/Barre d'état.
OriginalL'auteur Epsilon3