Android 自定义操作栏';屏幕旋转时的行为

Android 自定义操作栏';屏幕旋转时的行为,android,android-actionbar,Android,Android Actionbar,情景:在我的应用程序(minSDK:14)中,我有一个自定义的操作栏。在我的customViewa中,有一个EditText和一些按钮 ActionBar本身具有选项卡,用于在ViewPager托管的片段之间导航。customView位于选项卡上方。我有两种可能的设置方案(取决于应用程序的设置): 1) 。选项卡使用图标,在这种情况下,定义为“sMain”的主题将应用于活动 2) 。选项卡使用文本,主题.Holo应用于活动 屏幕旋转到横向时出现的问题: 场景#1:整个ActionBar变为单线。

情景:在我的应用程序(minSDK:14)中,我有一个自定义的
操作栏
。在我的
customView
a中,有一个
EditText
和一些
按钮

ActionBar
本身具有选项卡,用于在
ViewPager
托管的
片段之间导航。
customView
位于选项卡上方。我有两种可能的设置方案(取决于应用程序的设置):

1) 。选项卡使用图标,在这种情况下,定义为“
sMain
”的主题将应用于
活动

2) 。选项卡使用文本,
主题.Holo
应用于
活动

屏幕旋转到横向时出现的问题:

场景#1:整个
ActionBar
变为单线。Tab area现在占据整个屏幕宽度,my
customView
位于右侧并与选项卡重叠。这种行为完全弄乱了我的UI

场景#2:操作栏
也变为单线,但现在选项卡作为下拉菜单“堆叠”在左侧,而
自定义视图
占据了屏幕的其余宽度。这也会弄乱我的UI,因为:

-Holo主题的选项卡背景与my
customView
的设计不同,my
customView的设计不在选项卡菜单旁边

-选项卡现在由文本表示,文本可以长也可以短,并且每当更改选项卡时,my customView的宽度都会更改(因此文本将成为它所需的房间)

问题:是否可以强制
ActionBar
始终为两行,这样我的customView就有了空间?如果没有,还有其他解决方案吗

如果有必要,下面是我的ActionBar的设置和相应的主题:

        actionBar = getActionBar();
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
    actionBar.setDisplayShowHomeEnabled(true);
    actionBar.setDisplayUseLogoEnabled(false);
    actionBar.setIcon(new ColorDrawable(Color.TRANSPARENT));
    actionBar.setDisplayShowCustomEnabled(true);
    actionBar.setCustomView(R.layout.action_bar_main);
            // working with customView's subviews
风格:

 <style name="sMain" parent="@android:style/Theme.Holo">
    <item name="android:actionBarStyle">@style/mTabAreaBackground</item>
    <item name="android:actionBarTabStyle">@style/ActionBarTabStyle</item>
</style>
    <style name="sGunView" parent="@android:style/Theme.Holo">
        <item name="android:windowBackground">@android:color/black</item>
    <item name="android:actionBarStyle">@style/mTabAreaBackground</item>
    <item name="android:actionBarTabStyle">@style/ActionBarTabStyle</item>
</style>

<style name="mTabAreaBackground" parent="@android:style/Widget.Holo.ActionBar.Solid">
    <item name="android:backgroundStacked">#0d0d0d</item>
</style>

<style name="ActionBarTabStyle" parent="@android:style/Widget.Holo.ActionBar.TabView">
    <item name="android:background">@android:color/transparent</item>
    <item name="android:paddingLeft">0dp</item>
    <item name="android:paddingRight">0dp</item>
</style>

@风格/背景
@风格/动作风格
@android:彩色/黑色
@风格/背景
@风格/动作风格
#0d0d
@android:彩色/透明
0dp
0dp

以防万一有人在寻找答案:我这里有一个解决方案