OK、私はググググしてこの投稿に何度か行きましたので、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());
}
サンドイッチ前の問題
ICE_CREAM_SANDWITCH以前のデバイスでは、ビューがアクションバーと重なっていたため、アクションバーの高さが必要でした。私はandroid:layout_marginTop = "?android:attr / actionBarSize"、android:layout_marginTop = "?attr / actionBarSize"を設定してみましたが、カスタムテーマでオーバーラップをビュー/アクションバーに設定し、アクションバーの高さを固定しましたが、何も機能しませんでした。それはそれがどのように見えたかです:
残念ながら、上記の方法では高さの半分しか得られないことがわかりました(オプションバーが配置されていないと想定しています)。この問題を完全に修正するには、アクションバーの高さを2倍にする必要があります。
誰かが(actionBarHeightを2倍にするよりも)より良い解決策を知っている場合、私はiOS開発から来ており、Androidビューのほとんどのものがかなり混乱しているので私に知らせてくれてうれしいです:)
よろしく、
hris.to