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

时间:2019-01-04 12:03:40

标签: android android-toolbar

我使用意图获得色彩。我需要在工具栏中动态设置此颜色。互联网仅找到了这样的解决方案,但它不起作用。

错误:

  

java.lang.IllegalArgumentException:颜色未知

sudo apt-get update && sudo apt-get install google-cloud-sdk

3 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

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

  

ColorDrawable
已添加到API级别1
public ColorDrawable(int   color)
创建具有指定颜色的新ColorDrawable。
  参数
color int:要绘制的颜色。

因此,您确实拥有颜色的价值,应该这样做:

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

但是randomAndroidColor的类型为long(为什么?)。
您应该将额外值EXTRA_COLOR的类型更改为int
在放置多余元素的活动中以及在获取多余元素的活动中,都避免
避免整数值的溢出并像这样获取它:

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

答案 2 :(得分:0)

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