0
我需要以編程方式更改TabLayout
標題顏色。它看起來像這樣: 如何以編程方式更改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 - 在這裏你可以找到答案。
[改變TabLayout一個標籤(Android設計支持庫)的背景顏色不佔據整個標籤空間的可能的複製](https://stackoverflow.com/questions/32611885/changing-the-background-color-of-a-tab-in-tablayout-android-design-support-libr) – akhilesh0707
'TabLayout' header xml code –