Хорошо, я погуглил и попал на этот пост несколько раз, так что я думаю, что было бы хорошо, чтобы его описали не только для Шерлока, но и для appcompat:
Высота панели действий с помощью appCompat
Довольно похоже на описание @Anthony, вы можете найти его с помощью следующего кода (я только что изменил идентификатор ресурса):
TypedValue tv = new TypedValue();
if (getActivity().getTheme().resolveAttribute(R.attr.actionBarSize, tv, true))
{
int actionBarHeight = TypedValue.complexToDimensionPixelSize(tv.data,getResources().getDisplayMetrics());
}
Предварительная проблема Sandwitch
Мне нужна была высота панели действий, потому что на устройствах до ICE_CREAM_SANDWITCH мой взгляд был перекрывающим панель действий. Я попытался установить android: layout_marginTop = "? Android: attr / actionBarSize", android: layout_marginTop = "? Attr / actionBarSize", установив перекрытие для view / actionbar и даже фиксированную высоту actionbar с пользовательской темой, но ничего не получалось. Вот как это выглядело:
К сожалению, я обнаружил, что с помощью метода, описанного выше, я получаю только половину высоты (я предполагаю, что панель опций не занята), поэтому для полного исправления isue мне нужно удвоить высоту панели действий, и все выглядит нормально:
Если кто-то знает лучшее решение (чем удвоение actionBarHeight), я буду рад сообщить мне, так как я пришел из разработки для iOS, и я обнаружил, что большинство вещей в представлении Android довольно сбивают с толку :)
С Уважением,
hris.to