좋아, 나는 인터넷 검색을 하고이 게시물에 여러 번 도착했기 때문에 Sherlock뿐만 아니라 appcompat에 대해서도 설명하는 것이 좋을 것이라고 생각합니다.
appCompat를 사용한 액션 바 높이
@Anthony 설명과 매우 유사하지만 다음 코드로 찾을 수 있습니다 (방금 리소스 ID를 변경했습니다).
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"설정을 시도했지만보기 / 작업 표시 줄에 겹침을 설정하고 사용자 정의 테마로 고정 작업 표시 줄 높이를 설정했지만 아무 것도 작동하지 않았습니다. 그 모습은 다음과 같습니다.
불행히도 위에서 설명한 방법으로 높이의 절반 만 얻을 수 있다는 것을 알았습니다 (옵션 막대가 제 위치에 있지 않다고 가정합니다). 문제를 완전히 해결하려면 작업 막대 높이 를 두 배로 늘려야 하며 모든 것이 정상으로 보입니다.
누군가가 더 나은 솔루션을 알고 있다면 (actionBarHeight를 두 배로 늘리는 것보다) iOS 개발에서 나에게 알려 드리겠습니다. 안드로이드보기의 물건 대부분이 꽤 혼란 스럽다는 것을 알았습니다. :)
문안 인사,
hris.to