2016-06-07 74 views
1

我正在嘗試創建TabLayout,它看起來像thisAndroid TabLayout如何做兩個下劃線

而且我想在like this之下多做一個。

這是我自己的黃線,我想做出黑色的一個,當我改變標籤黃線改變自己的位置。也許我需要做一些背景線,但我不知道如何

XML:

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

<style name="AppTabLayout" parent="Widget.Design.TabLayout"> 
    <item name="tabIndicatorColor">@color/visit_tabs_indicator</item> 
    <item name="tabIndicatorHeight">4dp</item> 
    <item name="tabPaddingStart">6dp</item> 
    <item name="tabPaddingEnd">6dp</item> 
    <item name="tabBackground">@android:color/white</item> 
    <item name="tabTextAppearance">@style/AppTabTextAppearance</item> 
    <item name="tabSelectedTextColor">@color/visit_tabs_text</item> 
</style> 

回答

2

創建底部黑色線條的背景繪製。 即tab_ract_border.xml

<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item> 
     <shape android:shape="rectangle" > 
      <solid android:color="#ffffff" /> 
     </shape> 
    </item> 

    <item android:top="-2dp" android:right="-2dp" android:left="-2dp"> 
     <shape> 
      <solid android:color="@android:color/transparent" /> 
      <stroke 
       android:width="2dp" 
       android:color="#000000" /> 
     </shape> 
    </item> 
</layer-list> 

那麼這可繪製適用於Tablayoutapp:tabBackground="@drawable/tab_ract_border"

<android.support.design.widget.TabLayout 
    android:id="@+id/content_main_tab_bar" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:background="#ffffff" 
    app:tabIndicatorColor="#F3CD84" 
    app:tabBackground="@drawable/tab_ract_border" 
    app:tabMode="scrollable" 
    app:tabSelectedTextColor="@color/colorAccent" 
    app:tabTextAppearance="@android:style/TextAppearance.Widget.TabWidget" 
    app:tabTextColor="#000000" /> 

背景njoe它會爲你工作:)

+0

非常感謝!有用。完美的解決方案!) – pligosv

+0

任何時間兄弟.. :) –

0

在你style.xml代碼:

<style name="AppTabLayout" parent="Widget.Design.TabLayout"> 
    <item name="tabIndicatorColor">@color/visit_tabs_indicator</item> 
    <item name="tabIndicatorHeight">4dp</item> 
    <item name="tabPaddingStart">6dp</item> 
    <item name="tabPaddingEnd">6dp</item> 
    <item name="tabBackground">@drawable/myTabBackground</item> 
    <item name="tabTextAppearance">@style/AppTabTextAppearance</item> 
    <item name="tabSelectedTextColor">@color/visit_tabs_text</item> 
</style> 

然後創建繪製對象文件夾下的新的XML資源文件: myTabBackground.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item 
     android:drawable="@android:color/white" 
     android:state_selected="true"/> 
    <item android:drawable="@android:color/black"/> 
</selector> 

希望有所幫助! :)

+0

它不是我問過,但感謝的解決方案 - 這對我的練習很有幫助! – pligosv