之前我尝试了几件事并在网上搜索,但没有回答。
如何获得当前的ActionBar
尺寸?
我这样设置ActionBar
:
<style name="MusicSlide.Theme.ActionBar" parent="android:Widget.Holo.ActionBar">
<item name="android:height">60dp</item>
<item name="android:actionBarSize">60dp</item>
<item name="android:homeAsUpIndicator">@drawable/ic_drawer</item>
<item name="android:background">@color/complete_transparent</item>
<item name="android:titleTextStyle">@style/MusicSlide.Theme.ActionBar.TitleText</item>
<item name="android:subtitleTextStyle">@style/MusicSlide.Theme.ActionBar.TitleText</item>
</style>
透明。
在我的应用中,我实施了DrawerLayout
。我不希望DrawerLayout
位于ActionBar
下方,因此我设置DrawerLayout
的边距:
final TypedArray styledAttributes = mContext.getTheme().obtainStyledAttributes(
new int[] { android.R.attr.actionBarSize });
int actionheight = (int) styledAttributes.getDimension(0, 0);
styledAttributes.recycle();
ViewGroup.MarginLayoutParams mlp = (ViewGroup.MarginLayoutParams) mDrawerListRight
.getLayoutParams();
mlp.setMargins(0,(actionheight + statbarheight),0,0);
问题是android.R.attr.actionBarSize
会返回ActionBar
的原始高度。
如何以我的风格设置60dp
?
答案 0 :(得分:1)
android:actionBarSize
不是Widget.ActionBar
的属性,这就是您没有返回正确值的原因。无论您在何处定义android:actionBarStyle
,都可以将该行添加到您应用的主题中。