2017-03-15 28 views

回答

0

嘗試此,

public void onTabChanged(String tabId) { 
    // TODO Auto-generated method stub 
    for(int i=0;i<mTabHost.getTabWidget().getChildCount();i++) 
    { 
     View view = mTabHost.getTabWidget().getChildTabViewAt(i); 
     if (view != null) { 

      // get title text view 
      TextView textView = (TextView)view. findViewById(R.id.tab_title); 
      textView.setTextColor(Color.WHITE); 
     } 

    } 
    title.setTextColor(Color.RED); 
} 
+0

如何將TextView tab_title添加到TabWidget中? –

0

看看這documentation,內部onCreate()方法以限定用於選定和未選定標籤初始背景顏色。

for(int i = 0; i < tabHost.getTabWidget().getChildCount(); i++) { 
     tabHost.getTabWidget().getChildAt(i).setBackgroundColor(Color.parseColor("#8A4117")); 
} 
    tabHost.getTabWidget().setCurrentTab(1); 
    tabHost.getTabWidget().getChildAt(1).setBackgroundColor(Color.parseColor("#C35817")); 

貫徹OnTabChangeListener到當前活動,然後重寫onTabChanged()方法。在該方法中,編寫下面的代碼以定義選定選項卡和未選定選項卡的顏色。

@Override 
public void onTabChanged(String tabId) { 
    for(int i = 0; i < tabHost.getTabWidget().getChildCount(); i++){ 
     tabHost.getTabWidget().getChildAt(i).setBackgroundColor(Color.parseColor("#8A4117")); 
    } 

    tabHost.getTabWidget().getChildAt(tabHost.getCurrentTab()).setBackgroundColor(Color.parseColor("#C35817")); 
} 

更新

更改您標籤文字顏色:

  • 通過XML文件:

    <android.support.design.widget.TabLayout 
        app:tabTextColor="@color/your_color" 
        app:tabSelectedTextColor="@color/your_color"/> 
    
  • 通過代碼:

    tabLayout.setTabTextColors(
        ContextCompat.getColor(context, R.color.your_unselected_tab_text_color), 
        ContextCompat.getColor(context, R.color.your_selected_tab_text_color) 
    ); 
    
+0

不。我想更改文字顏色,而不是標籤顏色。但我很感激你的幫助。當我選擇一個標籤時,你知道如何改變指示器的文字顏色嗎? –

相關問題