2017-10-04 16 views
1

이 영역의 색상을 TabLayout의 아이콘 뒤에 변경하고 아이콘이있는 행만 변경하고 싶습니다. 이 핑크색 선을 제목 아래에서 변경해야하지만 스타일에 따라 적절한 매개 변수를 찾을 수 없습니다. 내 스타일 : 탭의 배경 색상에 대한TabLayout에서 선택한 탭의 제목 색상을 변경하는 방법은 무엇입니까?

<style name="AppTabLayout" parent="Widget.Design.TabLayout"> 
    <item name="tabIndicatorColor">?attr/colorAccent</item> 
    <item name="tabIndicatorHeight">4dp</item> 
    <item name="tabPaddingStart">6dp</item> 
    <item name="tabPaddingEnd">6dp</item> 
    <item name="tabBackground">?attr/selectableItemBackground</item> 
    <item name="tabTextAppearance">@style/AppTabTextAppearance</item> 
    <item name="tabSelectedTextColor">@color/darkPurple</item> 
    </style> 

    <!-- for text --> 
    <style name="AppTabTextAppearance" parent="TextAppearance.Design.Tab"> 
    <item name="android:textSize">12sp</item> 
    <item name="android:textColor">@color/orange</item> 
    <item name="textAllCaps">false</item> 
    </style> 

screenshot

답변

1

은 같은 그 선택의 리소스 ID를 selector을 만들고 넣어 :

<item name="tabBackground">@drawable/selector_name</item>합니다.

는 분홍색 밑줄를 들어, 탭 레이아웃의 속성을 다음이 사용을 시도

<item name="tabIndicatorColor">@color/your_new_color</item>

1

의 색상을 변경

app:tabIndicatorColor="@color/colorBlack"// it set Selected tab underline color 
app:tabSelectedTextColor="@color/colorPrimary"// it set Selected tab text color 
app:tabTextColor="@color/colorAccent"// it set tab text color 
1

XML로 atribute을 추가

<android.support.design.widget.TabLayout 
    .... 
    app:tabBackground="@drawable/tab_color_selector" 
    ... 
    /> 

그리고 drawable 폴더 tab_color_selector.xml에 작성하십시오

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:drawable="@color/tab_background_selected" android:state_selected="true"/> 
    <item android:drawable="@color/tab_background_unselected"/> 
</selector> 
0

  • drawable folder

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

<!-- Non focused states --> 
<item android:state_focused="false" android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/timecard" 
    android:color="@color/colorText" /> 
<item android:state_focused="false" android:state_selected="true" android:state_pressed="false" android:drawable="@drawable/timecard_selected" 
    android:color="@color/colorSkyBlue"/> 

<!-- Focused states --> 
<item android:state_focused="true" android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/timecard" 
    android:color="@color/colorText"/> 
<item android:state_focused="true" android:state_selected="true" android:state_pressed="false" android:drawable="@drawable/timecard_selected" 
    android:color="@color/colorSkyBlue"/> 

<!-- Pressed --> 
<item android:state_selected="true" android:state_pressed="true" android:drawable="@drawable/timecard" 
    android:color="@color/colorText"/> 
<item android:state_pressed="true" android:drawable="@drawable/timecard_selected" 
    android:color="@color/colorSkyBlue" /> 


bg_color 만들기 시도

<android.support.design.widget.TabLayout 
      android:id="@+id/tabs" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:padding="0dp" 
      android:tabStripEnabled="false" 
      app:tabIndicatorHeight="0dp" 
      android:fitsSystemWindows="true" 
      app:tabContentStart="0dp" 
      app:tabBackground="@drawable/bg_color" 
      app:tabPaddingStart="0dp" 
      android:paddingLeft="0dp" 
      app:tabPaddingEnd="0dp" 
      app:paddingEnd="0dp" 
      android:layout_gravity="center_vertical" 
      app:tabIndicatorColor="@color/colorSkyBlue" 
      android:paddingRight="0dp" 
      app:tabSelectedTextColor="@color/colorSkyBlue" /> 
처럼 layout이 추가