2016-02-22 74 views
2

我已經使用了帶有android設計庫的圖像的標籤佈局。將所選標籤圖標的顏色更改爲白色時,白色不能完美顯示,但顯示爲暗淡的白色。如何在選定的標籤上顯示完美的白色顏色?android TabLayout改變所選標籤圖標的顏色,顯示暗淡的白色

slidingTabLayout.getTabAt(0).setIcon(R.drawable.ic_tab_recent); 
slidingTabLayout.getTabAt(1).setIcon(R.drawable.ic_tab_profile); 
slidingTabLayout.getTabAt(2).setIcon(R.drawable.ic_tab_contacts); 
slidingTabLayout.getTabAt(3).setIcon(R.drawable.ic_tab_settings); 

slidingTabLayout.getTabAt(0).getIcon().setColorFilter(Color.WHITE, PorterDuff.Mode.SRC_IN); 
slidingTabLayout.getTabAt(1).getIcon().setColorFilter(Color.parseColor("#a8a8a8"), PorterDuff.Mode.SRC_IN); 
slidingTabLayout.getTabAt(2).getIcon().setColorFilter(Color.parseColor("#a8a8a8"), PorterDuff.Mode.SRC_IN); 
slidingTabLayout.getTabAt(3).getIcon().setColorFilter(Color.parseColor("#a8a8a8"), PorterDuff.Mode.SRC_IN); 


slidingTabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() { 
    @Override 
    public void onTabSelected(TabLayout.Tab tab) { 
     tab.getIcon().setColorFilter(Color.WHITE, PorterDuff.Mode.SRC_IN); 

    } 

    @Override 
    public void onTabUnselected(TabLayout.Tab tab) { 
     tab.getIcon().setColorFilter(Color.parseColor("#a8a8a8"), PorterDuff.Mode.SRC_IN); 
    } 

    @Override 
    public void onTabReselected(TabLayout.Tab tab) { 

    } 
}); 
+0

你試過#FFFFFF而不是Color.WHITE嗎? –

+0

@Le_Master @Le_Master我已經使用過,它顯示的顏色與Color.WHITE –

+0

相同,但我也在做同樣的事情,但它不工作@RajeshKhadka – Erum

回答

2

我通過改變所有顏色(Color.WHITE,Color.BLUE)和drawable.Table來檢查它。它沒有爲我工作。後來,我檢查了使用的drawable,它是棕色的。在改變可繪製白色的顏色後,它爲我工作。

由於PorterDuff.Mode.SRC_IN,它正在繪製棕色drawable。欲瞭解更多信息PorterDuff.Mode

+0

英雄。 PorterDuff.Mode.SRC_IN默認爲黑色圖標。 –