Tamam ben googling oldu ve bu yazı birkaç kez olsun, bu yüzden sadece Sherlock için değil, aynı zamanda appcompat için de açıklamak iyi olacağını düşünüyorum:
AppCompat kullanarak İşlem Çubuğu yüksekliği
@Anthony açıklamasına oldukça benzer, aşağıdaki kodla bulabilirsiniz (Kaynak kimliğini değiştirdim):
TypedValue tv = new TypedValue();
if (getActivity().getTheme().resolveAttribute(R.attr.actionBarSize, tv, true))
{
int actionBarHeight = TypedValue.complexToDimensionPixelSize(tv.data,getResources().getDisplayMetrics());
}
Sandwitch Öncesi Sorun
ICE_CREAM_SANDWITCH öncesi cihazlarda benim görüşüm örtüşen eylem çubuğuydu çünkü işlem çubuğunun yüksekliğine ihtiyacım vardı. Ben android: layout_marginTop = "? Android: attr / actionBarSize", android: layout_marginTop = "? Attr / actionBarSize" ayarlamayı denedim, özel tema ile örtüşmeyi ayarladım ve hatta hiçbir şey işe yaramadı. İşte böyle görünüyordu:
Ne yazık ki yukarıda açıklanan yöntem ile yüksekliğinin sadece yarısını aldım (seçenekler çubuğunun yerinde alınmadığını varsayalım), bu yüzden tamamen sorunu düzeltmek için çift eylem çubuğu yüksekliğine ihtiyacım var ve her şey yolunda görünüyor:
Birisi daha iyi bir çözüm biliyorsa (actionBarHeight'ı ikiye katlamaktan ziyade) iOS geliştirmesinden geldiğimde bana bildirmekten memnuniyet duyarım ve Android görünümünün çoğunun oldukça kafa karıştırıcı olduğunu gördüm :)
Saygılarımızla,
hris.to