Ok, je cherchais plusieurs fois sur Google et j'arrivais à ce post plusieurs fois, donc je pense que ce sera bien d'être décrit non seulement pour Sherlock mais aussi pour appcompat:
Hauteur de la barre d'action avec appCompat
Assez similaire à la description de @Anthony, vous pouvez la trouver avec le code suivant (je viens de changer l'ID de la ressource):
TypedValue tv = new TypedValue();
if (getActivity().getTheme().resolveAttribute(R.attr.actionBarSize, tv, true))
{
int actionBarHeight = TypedValue.complexToDimensionPixelSize(tv.data,getResources().getDisplayMetrics());
}
Problème de pré-sandwitch
J'avais besoin de la hauteur de la barre d'action car sur les appareils pré ICE_CREAM_SANDWITCH, ma vue chevauchait la barre d'action. J'ai essayé de paramétrer android: layout_marginTop = "? Android: attr / actionBarSize", android: layout_marginTop = "? Attr / actionBarSize", paramétrer le chevauchement pour afficher / actionbar et même fixer la hauteur de la barre d'action avec un thème personnalisé mais rien n'a fonctionné. Voilà à quoi ça ressemblait:
Malheureusement, j'ai découvert qu'avec la méthode décrite ci-dessus, je n'obtiens que la moitié de la hauteur (je suppose que la barre d'options n'est pas mise en place), donc pour résoudre complètement le problème, je dois doubler la hauteur de la barre d'action et tout semble correct:
Si quelqu'un connaît une meilleure solution (que de doubler actionBarHeight), je serai heureux de me le faire savoir car je viens du développement iOS et j'ai trouvé la plupart des choses de la vue Android assez déroutantes :)
Cordialement,
hris.to