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