2

私は、ほとんどのUI要素で "colorControlNormal"の色の変更を設定すると知っていますが、ツールバーのアイテムのみを変更する必要があります。ツールバーのアイテムの色(3ドット)

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
    <item name="toolbarStyle">@style/ToolBar</item> 
    <item name="android:statusBarColor">@color/PrimaryDarkGreen</item> 

    <item name="colorPrimary">@color/PrimaryGreen</item> 
    <item name="colorAccent">@color/AccentGreen</item> 
    <item name="colorControlNormal">@color/PrimaryWhite</item>   
</style> 

<style name="ToolBar" parent="Widget.AppCompat.Toolbar"> 
    <item name="android:background">@color/PrimaryGreen</item> 
</style> 

更新 screenshot

答えて

0
toolbar.setBackgroundColor(Color.parseColor("#80000000")); 

OR

<android.support.v7.widget.Toolbar 
     android:id="@+id/home_toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     android:background="?attr/colorPrimary"/> 

JavaファイルまたはXMLのいずれかの変更を行います。

+1

私は、ツールバーではなく、背景を変更する必要があります。 – Mkinitcpio

+0

質問はツールバーの項目についてのもので、背景ではありませんでした – iscariot

1

チェック。オーバーフローボタン(3ドット)が変更されます。

public PorterDuffColorFilter colorFilterWhite= new PorterDuffColorFilter(getResources().getColor(R.color.textColorPrimary), PorterDuff.Mode.MULTIPLY); 
final String overflowDescription = getString(R.string.abc_action_menu_overflow_description); 
final ViewGroup decorView = (ViewGroup) getWindow().getDecorView(); 
final ViewTreeObserver viewTreeObserver = decorView.getViewTreeObserver(); 


     viewTreeObserver.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { 
      @Override 
      public void onGlobalLayout() { 
       final ArrayList<View> outViews = new ArrayList<View>(); 
       decorView.findViewsWithText(outViews, overflowDescription, 
         View.FIND_VIEWS_WITH_CONTENT_DESCRIPTION); 
       if (outViews.isEmpty()) { 
        return; 
       } 
       AppCompatImageView overflow=(AppCompatImageView) outViews.get(0); 
       overflow.setColorFilter(colorFilterWhite); 
       if(viewTreeObserver.isAlive()) 
        viewTreeObserver.removeOnGlobalLayoutListener(this); 
       else 
        decorView.getViewTreeObserver().removeOnGlobalLayoutListener(this); 
      } 
     }); 
関連する問題