Ok, j'ai fait des recherches et je suis arrivé plusieurs fois sur ce post, donc je pense qu'il sera bon 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 le trouver avec le code suivant (j'ai juste changé 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é-sandwich
J'avais besoin de la hauteur de la barre d'action parce que sur les appareils pré-ICE_CREAM_SANDWITCH, ma vue recouvrait la barre d'action. J'ai essayé de définir Android:layout_marginTop="?Android:attr/actionBarSize", Android:layout_marginTop="?attr/actionBarSize", de désactiver le chevauchement dans view/actionbar et même de 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 double hauteur de la barre d'action et tout semble correct :
Si quelqu'un connaît une meilleure solution (que de doubler la hauteur de la barre d'action), je serai heureux de le faire savoir car je viens du développement iOS et j'ai trouvé la plupart des choses de la vue Android assez confuses :)
Regards,
hris.to