如何使用 Java 文件中的 R.Color 在 Android Studio 中更改操作栏 setBackgrounddrawable 颜色?
How to Change action bar setBackgrounddrawable Color in Android Studio using R.Color in Java File?
我想在 Android studio 中使用 Java 代码更改操作栏的颜色,
我有 color.xml 个颜色代码文件
android.support.v7.app.ActionBar actionBar = getSupportActionBar();
actionBar.setBackgroundDrawable(new ColorDrawable(getColor(R.color.colorVelocity))); **//<<Error NullPointerException**
告诉我如何解决这个问题,因为我想使用 R.color 我不想使用 color.parsecolor ("#hexcolor");
这是一个空指针异常问题。我不确定你从哪里调用 getSupportActionBar() (这会给我更多关于为什么的上下文)但是你应该在调用它时始终检查 null 。所以将您的代码更改为...
android.support.v7.app.ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
actionBar.setBackgroundDrawable(new ColorDrawable(getResources().getColor(R.color.colorVelocity)));
}
[编辑]
如果您不想使用已弃用的 getResources().getColor() 方法,请改用此方法...
android.support.v7.app.ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
actionBar.setBackgroundDrawable(new ColorDrawable(ContextCompat.getColor(this, R.color.colorVelocity)));
}
使用此代码,您将能够使用 Color.parseColor()
但颜色来自资源。
android.support.v7.app.ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
actionBar.setBackgroundColor(Color.parseColor("#"+Integer.toHexString(context.getResources().getColor(R.color.colorVelocity)));
}
尝试使用这些行来更改 Actionbar 的颜色。
getSupportActionBar().setBackgroundDrawable(new ColorDrawable(Color.parseColor("#000000")));
我想在 Android studio 中使用 Java 代码更改操作栏的颜色,
我有 color.xml 个颜色代码文件
android.support.v7.app.ActionBar actionBar = getSupportActionBar();
actionBar.setBackgroundDrawable(new ColorDrawable(getColor(R.color.colorVelocity))); **//<<Error NullPointerException**
告诉我如何解决这个问题,因为我想使用 R.color 我不想使用 color.parsecolor ("#hexcolor");
这是一个空指针异常问题。我不确定你从哪里调用 getSupportActionBar() (这会给我更多关于为什么的上下文)但是你应该在调用它时始终检查 null 。所以将您的代码更改为...
android.support.v7.app.ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
actionBar.setBackgroundDrawable(new ColorDrawable(getResources().getColor(R.color.colorVelocity)));
}
[编辑]
如果您不想使用已弃用的 getResources().getColor() 方法,请改用此方法...
android.support.v7.app.ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
actionBar.setBackgroundDrawable(new ColorDrawable(ContextCompat.getColor(this, R.color.colorVelocity)));
}
使用此代码,您将能够使用 Color.parseColor()
但颜色来自资源。
android.support.v7.app.ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
actionBar.setBackgroundColor(Color.parseColor("#"+Integer.toHexString(context.getResources().getColor(R.color.colorVelocity)));
}
尝试使用这些行来更改 Actionbar 的颜色。
getSupportActionBar().setBackgroundDrawable(new ColorDrawable(Color.parseColor("#000000")));