2017-10-05 158 views
0

我需要以編程方式更改TabLayout標題顏色。它看起來像這樣: screenshot_1如何以編程方式更改TabLayout標題顏色?

而當我點擊暫停它應該改變顏色爲灰色。我不喜歡這樣寫道:

private void initUIComponents() { 
    final Toolbar toolbar = findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 

    mBtnPause = findViewById(R.id.btn_pause); 
    mBtnPause.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View view) { 
     Toast.makeText(MainActivity.this, "Pause is clicked", Toast.LENGTH_SHORT).show(); 
     toolbar.setBackgroundColor(getResources().getColor(R.color.darkGrey)); 
     toolbar.setTitle("Your Wi-Fi is paused"); 
     } 
    }); 

    mViewPager = findViewById(R.id.viewpager); 
    mTabLayout = findViewById(R.id.tabs); 
    mTabLayout.setTabGravity(TabLayout.GRAVITY_FILL); 

    mViewPager.setAdapter(new MenuCategoryAdapter(this, getSupportFragmentManager())); 
    mTabLayout.setupWithViewPager(mViewPager); 

    for (int i = 0; i < mTabLayout.getTabCount(); i++) { 
     mTabLayout.getTabAt(i).setIcon(R.mipmap.ic_launcher); 
    } 
    } 

但問題是,我只能改變Toolbar顏色並不能找到改變TabLayout頭的方法。 方法mTabLayout.setBackgroud不適用於我。

This throws NullPointerException:mTabLayout.getTabAt(i).getCustomView()。setBackgroundColor(getResources()。getColor(R.color.darkGrey));

對不起,可能重複,original - 在這裏你可以找到答案。

+2

[改變TabLayout一個標籤(Android設計支持庫)的背景顏色不佔據整個標籤空間的可能的複製](https://stackoverflow.com/questions/32611885/changing-the-background-color-of-a-tab-in-tablayout-android-design-support-libr) – akhilesh0707

+0

'TabLayout' header xml code –

回答

相關問題