如何动态设置工具栏的颜色

How to set the color of the toolbar dynamically

我使用意图获取颜色。我需要在工具栏中动态设置此颜色。网上只找到了这样的解决方法,但是不行

错误:

java.lang.IllegalArgumentException: Unknown color

  private long randomAndroidColor;
  randomAndroidColor = getIntent().getLongExtra(EXTRA_COLOR, 0L);
    getSupportActionBar().setBackgroundDrawable(
        new ColorDrawable(Color.parseColor(String.valueOf(randomAndroidColor)))
    );

只需初始化工具栏对象并设置背景颜色

toolbar_gallery.setBackgroundColor(getResources().getColor(R.color.lightRed));

发件人:https://developer.android.com/reference/android/graphics/drawable/ColorDrawable.html#ColorDrawable(int)

ColorDrawable
added in API level 1
public ColorDrawable (int color)
Creates a new ColorDrawable with the specified color.
Parameters
color int: The color to draw.

所以你确实有颜色的价值,你应该这样做:

getSupportActionBar().setBackgroundDrawable(new ColorDrawable(randomAndroidColor));

randomAndroidColorlong 类型(为什么?)。
您应该将额外值 EXTRA_COLOR 的类型更改为 int
在 activity 中放置额外的 activity 和在 activity 中获得额外的
以避免整数值溢出并像这样获取它:

private int randomAndroidColor = getIntent().getIntExtra(EXTRA_COLOR, 0);

您需要参考工具栏并使用toolbar.setBackgroundResource(res);