基本上,我想更改操作栏中选项卡的高度。这个问题在 stackoverflow 上已经被问过好几次了,例如:
我已经尝试了大部分解决方案,但没有任何效果,这是我的代码。
<style name="CustomActionBarTheme" parent="@android:style/Theme.Holo">
<item name="android:scrollHorizontally">false</item>
<item name="android:paddingLeft">0dp</item>
<item name="android:paddingRight">0dp</item>
<item name="android:actionBarSize">80dp</item>
<item name="actionBarSize">80dp</item>
<item name="android:actionBarTabStyle">@style/ActionBarTabStyle</item>
</style>
<style name="ActionBarTabStyle" parent="@android:style/Widget.Holo.ActionBar.TabView">
<item name="android:height">80dp</item>
</style>
显然,代码只改变了操作栏的高度,而不是我想要的标签栏的高度。这是图片供参考:
如您所见,底部的操作栏更高。但在操作栏模式下,选项卡高度保持不变。
为什么会发生这种情况?我错过了什么??? 预先感谢您:)。
已解决,如以下所述:
和
https://code.google.com/p/android/issues/detail?id=41792
显然这是 android sdk 的一个错误...尽管我从来没有遇到过这样的错误:(。希望这对其他人有帮助。
从我在文档中看到的内容来看,似乎无法更改选项卡高度。但您可以使用解决方法 - 尝试使用 PagerSlidingTabStrip 而不是 ActionbarTabs。您可以轻松更改那里的高度。
通过将应用程序主题属性 android:actionBarSize 和 ActionBar.TabView 样式属性 android:minHeight(或高度)设置为 80 dp。 一个基本的例子:
<style name="ThemeHoloWithActionBar" parent="android:Theme.Holo.Light">
<item name="android:actionBarTabStyle">@style/ActionBarTabStyle</item>
<item name="android:actionBarSize">80dp</item>
</style>
<style name="ActionBarTabStyle" parent="@android:style/Widget.Holo.ActionBar.TabView">
<item name="android:minHeight">80dp</item>
</style>
在 Manifest 中设置主题:
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/ThemeHoloWithActionBar" >
活动
ActionBar actionbar = getActionBar();
actionbar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
actionbar.setDisplayShowTitleEnabled(false);
actionbar.setDisplayShowHomeEnabled(false);
ActionBar.Tab tabA = actionbar.newTab().setText("Tab A");
ActionBar.Tab tabB = actionbar.newTab().setText("Tab B");
ActionBar.Tab tabC = actionbar.newTab().setText("Tab C");
tabA.setTabListener(new MyTabsListener());
tabB.setTabListener(new MyTabsListener());
tabC.setTabListener(new MyTabsListener());
actionbar.addTab(tabA);
actionbar.addTab(tabB);
actionbar.addTab(tabC);