2017-10-05 12 views
0

TabLayoutヘッダーカラーをプログラムで変更する必要があります。これは次のようになります。 screenshot_1TabLayoutヘッダーの色をプログラムで変更するにはどうすればよいですか?

[一時停止]をクリックすると、色が灰色に変わります。私はこのようにそれを行う:

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が機能しません。

これは、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'ヘッダxmlコード –

答えて

関連する問題