What is the size of ActionBar in pixels? What is the size of ActionBar in pixels? android android

What is the size of ActionBar in pixels?


To retrieve the height of the ActionBar in XML, just use

?android:attr/actionBarSize

or if you're an ActionBarSherlock or AppCompat user, use this

?attr/actionBarSize

If you need this value at runtime, use this

final TypedArray styledAttributes = getContext().getTheme().obtainStyledAttributes(                    new int[] { android.R.attr.actionBarSize });mActionBarSize = (int) styledAttributes.getDimension(0, 0);styledAttributes.recycle();

If you need to understand where this is defined:

  1. The attribute name itself is defined in the platform's /res/values/attrs.xml
  2. The platform's themes.xml picks this attribute and assigns a value to it.
  3. The value assigned in step 2 depends on different device sizes, which are defined in various dimens.xml files in the platform, ie. core/res/res/values-sw600dp/dimens.xml


From the de-compiled sources of Android 3.2's framework-res.apk, res/values/styles.xml contains:

<style name="Theme.Holo">    <!-- ... -->    <item name="actionBarSize">56.0dip</item>    <!-- ... --></style>

3.0 and 3.1 seem to be the same (at least from AOSP)...


To get the actual height of the Actionbar, you have to resolve the attribute actionBarSize at runtime.

TypedValue tv = new TypedValue();context.getTheme().resolveAttribute(android.R.attr.actionBarSize, tv, true);int actionBarHeight = getResources().getDimensionPixelSize(tv.resourceId);