2017-12-14 18 views
0

ナビゲーションドロワー付きのアプリを作成しました。特定のナビゲーションメニュー項目の選択時に変更されるアクションバーとデフォルトのアイコンの色を変更する必要があります。他の項目の選択時にデフォルト値に変更する必要があります。アクションバーの色とアイコンは条件に基づいて変更します

私のコード

Fragment fragment; 
if(fragment.toString().contains("HomeFragment")){ 
      ab = ((BaseActivity)getApplicationContext()).getSupportActionBar(); 
      ab.setHomeButtonEnabled(true); 
      ab.setDisplayHomeAsUpEnabled(true); 
      ab.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#FFFFFF"))); 
      ab.setElevation(0); 
      ab.setDisplayHomeAsUpEnabled(true); 
      ab.setHomeAsUpIndicator(R.drawable.username); 
    } 

私は上記のコードでアクションバーの色やナビゲーションドロワーアイコンを変更することができますが、他のナビゲーション項目の選択にデフォルトの色とアイコンに変更することはできません。

+0

フラグメントが初期化されることはありませんあなたのコードを続けます。とにかくあなたのフラグメントfindviewbyidとsetonclicklistener onclick myviewitem.setbackground ... – Pomagranite

+0

は完全なコードではありません。フラグメントは初期化され、正常に動作します。 「HomeFragment」を選択すると、アクションバーの色が変わります。しかし、私はナビゲーションの引き出しのアイコンを変更できません。 – Visakh

答えて

0

だけ

Fragment fragment; 
if(fragment.toString().contains("HomeFragment")){ 
      ab = ((BaseActivity)getApplicationContext()).getSupportActionBar(); 
      ab.setHomeButtonEnabled(true); 
      ab.setDisplayHomeAsUpEnabled(true); 
      ab.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#FFFFFF"))); 
      ab.setElevation(0); 
      ab.setDisplayHomeAsUpEnabled(true); 
      ab.setHomeAsUpIndicator(R.drawable.username); 
    } else { 
     ab = ((BaseActivity)getApplicationContext()).getSupportActionBar(); 
      ab.setHomeButtonEnabled(true); 
      ab.setDisplayHomeAsUpEnabled(true); 
      ab.setBackgroundDrawable(new ColorDrawable(Color.parseColor("your default color"))); 
      ab.setElevation(0); 
      //ab.setHomeAsUpIndicator(R.drawable.username); change it to your other icon; 
} 
関連する問題