Android 如何动态设置工具栏的颜色
我使用意图来获得颜色。我需要在工具栏中动态设置此颜色。互联网只找到了这样一个解决方案,但它不起作用 错误: java.lang.IllegalArgumentException:未知颜色Android 如何动态设置工具栏的颜色,android,android-toolbar,Android,Android Toolbar,我使用意图来获得颜色。我需要在工具栏中动态设置此颜色。互联网只找到了这样一个解决方案,但它不起作用 错误: java.lang.IllegalArgumentException:未知颜色 只需初始化工具栏对象并设置背景色 toolbar_gallery.setBackgroundColor(getResources().getColor(R.color.lightRed)); 发件人: 在API级别1中添加了ColorDrawable公共ColorDrawable int 颜色使用指定的颜色创
只需初始化工具栏对象并设置背景色
toolbar_gallery.setBackgroundColor(getResources().getColor(R.color.lightRed));
发件人:
在API级别1中添加了ColorDrawable公共ColorDrawable int
颜色使用指定的颜色创建新的可绘制颜色。
参数颜色int:要绘制的颜色
因此,您确实拥有颜色的值,您应该:
getSupportActionBar().setBackgroundDrawable(new ColorDrawable(randomAndroidColor));
但是randomAndroidColor的类型很长为什么?。
您应该将额外值extra_COLOR的类型更改为int,
在放入额外值的活动和获取额外值的活动中,都可以避免整数值溢出,并按如下方式获取:
private int randomAndroidColor = getIntent().getIntExtra(EXTRA_COLOR, 0);
您需要参考工具栏并使用toolbar.setbackgroundresources getSupportActionBar可能会导致空指针引用,因此请使用:Objects.requireNonnullgetSupportActionBar.your-function。如果getSupportActionBar确实导致空指针异常,则错误不会是java.lang.IllegalArgumentException。这是Android Studio显示的,我对它不太熟悉!
private int randomAndroidColor = getIntent().getIntExtra(EXTRA_COLOR, 0);