【问题标题】:Remove actionbar tabs padding in Android删除 Android 中的操作栏标签填充
【发布时间】:2013-08-06 11:47:00
【问题描述】:

我的操作栏标签有问题,我想删除标签中左侧或右侧的填充。

我尝试过这种风格,但它不起作用:

<!-- indicator tab color -->
<style name="ActionBarTabBarStyle" parent="@style/Widget.AppCompat.ActionBar.TabView">
   <item name="android:background">@drawable/tab_indicator_ab_example</item>
   <item name="android:paddingLeft">0dp</item>
   <item name="android:paddingRight">0dp</item>
</style>

你有什么想法吗?

【问题讨论】:

  • 您使用的是哪种操作栏方法。如通过 tabhost 和 tabmanager 或其他什么?你能显示你正在使用哪种方法的代码吗?在解决问题之前尽量不要使用主题,例如,您的背景可能会导致问题。
  • 我也有这个问题,没有定义任何样式。并没有找到解决方案。

标签: android android-actionbar android-tabs


【解决方案1】:

您可以通过配置 'Widget.Sherlock.Light.ActionBar.Solid.Inverse' 来实现您想要的外观。特别是 TabView 和 backgroundStacked 上的 paddingminWidth

<style name="GPA_Sherlock_theme" parent="@style/Theme.Sherlock.Light.DarkActionBar">        
    <item name="android:actionBarStyle">@style/ActionBar.Solid.Example</item> 
    <item name="android:actionBarTabStyle">@style/ActionBarTabStyle.Example</item>
    <item name="actionBarStyle">@style/ActionBar.Solid.Example</item> 
    <item name="actionBarTabStyle">@style/ActionBarTabStyle.Example</item>
</style>

 <style name="ActionBarTabStyle.Example" parent="@style/Widget.Sherlock.ActionBar.TabView">
     <item name="android:paddingLeft">0dp</item>        
     <item name="android:paddingRight">0dp</item>     
     <item name="android:minWidth">0dp</item> 
</style>

<style name="ActionBar.Solid.Example" parent="@style/Widget.Sherlock.Light.ActionBar.Solid.Inverse"> 
     <item name="android:backgroundStacked">@drawable/ab_stacked_solid_example</item> 
     <item name="backgroundStacked">@drawable/ab_stacked_solid_example</item> 
</style> 

【讨论】:

  • 填充属性是关键。谢谢。以下内容适用于 Holo Light 主题的用户。 &lt;style name="ActionBarTabStyle.HoloExample" parent="@android:style/Widget.Holo.Light.ActionBar.TabView"&gt; &lt;item name="android:paddingLeft"&gt;0dp&lt;/item&gt; &lt;item name="android:paddingRight"&gt;0dp&lt;/item&gt; &lt;/style&gt;
【解决方案2】:

app:tabPaddingStart="0dp"app:tabPaddingEnd="0dp" 添加到TabLayout。 它对我有用。

<android.support.design.widget.TabLayout
     android:id="@+id/tabs"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     app:tabGravity="fill"
     app:tabPaddingStart="0dp"
     app:tabPaddingEnd="0dp"
     app:tabIndicatorColor="#FF0000"
     app:tabMode="fixed" />

并将xmlns:app="http://schemas.android.com/apk/res-auto" 添加到父布局

【讨论】:

  • 这是唯一对我有用的解决方案;因为我没有使用任何 ActionBar、TabHost 等。谢谢。
【解决方案3】:

您可以使用自定义布局..

    ActionBar actionBar;
    actionBar = getActivity().getActionBar();
    actionBar.setCustomView(R.layout.your_layout);

【讨论】:

    【解决方案4】:

    我认为您的问题来自非零父布局填充。

    【讨论】:

      猜你喜欢
      • 2015-08-22
      • 2015-10-26
      • 2013-04-08
      • 1970-01-01
      • 2013-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多