我知道当我设置" colorControlNormal"大多数ui元素的颜色变化,但我只需要更改工具栏中的项目。
<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 :(得分:2)
这是什么问题?您还可以在工具栏主题中为 colorControlNormal 指定值。点击此链接。
答案 1 :(得分: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);
}
});
答案 2 :(得分:0)
toolbar.setBackgroundColor(Color.parseColor("#80000000"));
或强>
<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中进行更改。