如何动态设置工具栏的颜色
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));
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));
但 randomAndroidColor
是 long
类型(为什么?)。
您应该将额外值 EXTRA_COLOR
的类型更改为 int
、
在 activity 中放置额外的 activity 和在 activity 中获得额外的
以避免整数值溢出并像这样获取它:
private int randomAndroidColor = getIntent().getIntExtra(EXTRA_COLOR, 0);
您需要参考工具栏并使用toolbar.setBackgroundResource(res);
我使用意图获取颜色。我需要在工具栏中动态设置此颜色。网上只找到了这样的解决方法,但是不行
错误:
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));
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));
但 randomAndroidColor
是 long
类型(为什么?)。
您应该将额外值 EXTRA_COLOR
的类型更改为 int
、
在 activity 中放置额外的 activity 和在 activity 中获得额外的
以避免整数值溢出并像这样获取它:
private int randomAndroidColor = getIntent().getIntExtra(EXTRA_COLOR, 0);
您需要参考工具栏并使用toolbar.setBackgroundResource(res);