【问题标题】:Change Actionbar Tabs Height更改操作栏选项卡高度
【发布时间】:2014-02-18 04:48:32
【问题描述】:

我一直在尝试更改 Android 中操作栏下方选项卡的高度。我为此进行了很多搜索并尝试了许多解决方案,例如将主题设置为清单中的应用程序等等。以下是我应用但没有成功的少数主题之一。

<style name="CustomActionBarTheme" parent="@android:style/Theme.Holo">
        <item name="android:actionBarTabStyle">@style/ActionBarTabStyle</item>
        <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>
</style>

我也试过这个:

<style name="Widget.Holo.Tab" parent="@android:style/Widget.Holo.Light.ActionBar.TabView">
    <item name="android:height">200dp</item>
</style>

<style name="MyTabTheme" parent="@android:style/Theme.Holo.Light">
    <item name="android:actionBarTabStyle">@style/Widget.Holo.Tab</item>
</style>

我想在图标下方添加一个图标和文本。请帮我解决这个问题。

提前致谢。

【问题讨论】:

  • 你试过android:minHeigh in Widget.Holo.Tab吗?
  • 感谢您的回复。是的,我已经尝试了所有可能的方法,但没有什么对我有用。如果您有任何示例代码,请分享。
  • 我在 stackoverflow.com/questions/21110322/… 上回答了同样的问题,但我认为这是来自 android sdk 的错误。

标签: android android-tabs


【解决方案1】:

似乎Tab 的高度必须等于ActionBar 的高度。尝试将Tab 的高度从200 dp 更改为80 dp 或将ActionBar 的高度从80 dp 更改为200 dp。虽然这可能不是您预期的答案。

<!--Start Theme custom action bar theme -->
<style name="LeActionBarTheme"
    parent="@style/Theme.AppCompat.Light.DarkActionBar">
    <item name="android:actionBarStyle">@style/MyActionBar</item>
    <item name="android:actionBarTabStyle">@style/MyActionBarTab</item>
    <item name="android:actionBarTabTextStyle">@style/MyActionBarTabText</item>
    <item name="android:actionBarSize">60dp</item>
    <!-- Support library compatibility -->
    <item name="actionBarStyle">@style/MyActionBar</item>
    <item name="actionBarTabStyle">@style/MyActionBarTab</item>
    <item name="actionBarTabTextStyle">@style/MyActionBarTabText</item>
    <item name="actionBarSize">60dp</item>
</style>

<!-- ActionBarTab Styles -->
<style name="MyActionBarTab"
    parent="@style/Widget.AppCompat.ActionBar.TabView">
    <item name="android:height">60dp</item>
</style>

【讨论】:

  • 感谢@ZhangLei,但它不起作用。任何代码sn-p?
  • 感谢您的代码,但其中缺少许多东西,例如您为标签文本、操作栏和 ActionBarTab 添加的样式,并且 alos 父样式不起作用。
  • 那些没附上的样式和这个问题无关。如果您的应用仅支持 3.0 及更高版本,则您不必使用支持 v7 中的 AppCompat。而且,如果您将高度更改为相同的参数,我认为您的代码和我的代码之间没有任何区别。
【解决方案2】:

您可以使用 3 个值来设置 Tab 的尺寸:

<style name="ActionBar.Solid.Mg_style" parent="@android:style/Widget.Holo.Light.ActionBar.Solid">

    <item name="android:actionBarSize">150dp</item>
    <item name="android:height">150dp</item>
    <item name="android:width">150dp</item>

</style>

但是你需要在你的风格中包含 ActionBar.Solid.Mg_style:

<style name="AppTheme" parent="Theme_Mg_style">            
    <item name="android:windowTitleSize">54dip</item>
</style>

<style name="Theme_Mg_style" parent="@android:style/Theme.Holo.Light">
    <item name="android:actionBarStyle">@style/ActionBar.Solid.Mg_style</item>

【讨论】:

    猜你喜欢
    • 2022-01-24
    • 2018-02-08
    • 1970-01-01
    • 1970-01-01
    • 2011-08-13
    • 2014-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多