2016-09-16 109 views
5

我在TabLayout标签占据了屏幕的中心,甚至加入tabMaxWidth = "0dp"Adam John's answer如何使TabLayout占用整个屏幕的宽度?

这就是我想要的标签后不填充整个宽度延伸,以填补屏幕是这样的:

enter image description here

但是我所得到的是这样的:

enter image description here

我的XML看起来是这样的:

<android.support.design.widget.TabLayout 
      android:id="@+id/tl_contact_type" 
      style="@style/tabWidgetLayout" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      app:tabMaxWidth="0dp" 
      app:tabGravity="fill" 
      app:tabMode="fixed"/>  

style.xml为tabWidgetLayout

<style name="tabWidgetLayout" parent="Widget.Design.TabLayout"> 
      <item name="tabIndicatorColor">@color/colorTealAccent</item> 
      <item name="tabIndicatorHeight">@dimen/default_corner_radius_medium</item> 
      <item name="tabBackground">?attr/selectableItemBackground</item> 
      <item name="android:background">@color/colorBrandPrimaryDark</item> 
      <item name="tabSelectedTextColor">@color/color_tab_selected_text</item> 
      <item name="tabTextAppearance">@style/tabWidgetLayoutTextAppearance</item> 
     </style> 

任何帮助解决这一问题是非常赞赏。

+1

从截图看起来像你一样在平板电脑上重新运行它。尝试一下正常的Android手机 –

+0

@VivekMishra感谢您的建议。然而,那些是股票图像,我只是添加它们来强调我的布局如何呈现。我一直在尝试使用普通的android手机(HTC),而选项卡并不占用全部宽度。 – Mithun

+0

并删除'maxWidth'仍然保持不变? – Vucko

回答

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

告诉我这个解决了你的问题。

乐意帮忙。

+0

感谢您的建议!但它没有解决问题。这是我最初的布局。并根据我附加到问题的链接,我添加了'tabMaxWidth'参数。 – Mithun

0

值得关注@ style/tabWidgetLayout及其父类型的填充和边距值。

+0

刚刚添加了一个编辑。 – Mithun

+0

我重新访问了使用选项卡布局的应用程序。看起来这是一个标签的默认行为。在我的手机上,选项卡在纵向上占据整个宽度,但不在横向上。你有没有试过在sw600上运行? – user1506104

4

尝试以下片断

<android.support.design.widget.TabLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      app:tabMaxWidth="0dp" 
      app:tabGravity="fill" 
      app:tabMode="fixed" /> 
0
<android.support.design.widget.TabLayout 
      android:id="@+id/tabs" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      app:tabMode="fixed" 
      app:tabGravity="fill" 
      app:tabSelectedTextColor="@color/ColorPrimary" 
      app:tabIndicatorColor="@color/ColorPrimary" 
      app:tabTextColor="#000" 
      app:tabBackground="@color/cardview_light_background"/> 

这个替换您的代码。

0

我认为这个问题是你是不是延长android:Widget 尝试添加以下内容到styles.xml

<style name="Base.Widget.Design.TabLayout" parent="android:Widget"> 
    <item name="tabBackground">@drawable/tab_background</item> 
    <item name="tabIndicatorColor">@color/colorAccent</item> 
    <item name="tabIndicatorHeight">2dp</item> 
</style> 
在布局

然后:

<android.support.design.widget.TabLayout 
       android:id="@+id/tabLayout" 
       style="@style/Base.Widget.Design.TabLayout" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       app:tabGravity="fill" 
       app:tabMode="fixed" /> 

编辑: 这是我发现的长在另一个问题(我不记得了),它对我工作

相关问题