我最近正在开发一个Android应用程序,其中需要自定义选项卡栏的布局和尺寸。到目前为止,我使用Jake Wharton的ActionBarSherlock库来支持早期的Android版本,并在应用程序中应用样式,在其中编辑actionBarSize样式项。现在,我在Galaxy S3上测试应用程序(安装了Jellybean),但选项卡栏高度不再根据actionBarSize值改变。因此,我开始查看JellyBean的代码,并在ActionBarPolicy类中找到了这个方法:
根据我所了解的方法,似乎JellyBean通过将选项卡栏高度设置为“action_bar_stacked_max_height”维度值(在4.1的
我尝试通过在自己的
我的问题:
你们知道我可以覆盖“action_bar_stacked_max_height”维度值的方法吗?
提前感谢您!
public int getTabContainerHeight() {
TypedArray a = mContext.obtainStyledAttributes(null, R.styleable.ActionBar,
com.android.internal.R.attr.actionBarStyle, 0);
int height = a.getLayoutDimension(R.styleable.ActionBar_height, 0);
Resources r = mContext.getResources();
if (!hasEmbeddedTabs()) {
// Stacked tabs; limit the height
height = Math.min(height,
r.getDimensionPixelSize(R.dimen.action_bar_stacked_max_height));
}
a.recycle();
return height;
}
根据我所了解的方法,似乎JellyBean通过将选项卡栏高度设置为“action_bar_stacked_max_height”维度值(在4.1的
/values/dimen.xml
文件中为48dp),限制了应用程序在纵向模式下的选项卡栏高度,即使我已经在actionBarSize
中设置了操作栏高度。我尝试通过在自己的
dimen.xml
文件中将其设置为自己的值来覆盖此维度值,但没有成功。它没有起作用。我的问题:
你们知道我可以覆盖“action_bar_stacked_max_height”维度值的方法吗?
提前感谢您!