我想在Android studio中使用Java代码更改Action Bar的颜色,
我有颜色代码的color.xml文件
ContentControl
告诉我如何解决这个问题,因为我想使用R.color我不想使用color.parsecolor(“#hexcolor”);
答案 0 :(得分:2)
这是一个空指针异常问题。我不确定你从哪里调用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)));
}
答案 1 :(得分:1)
尝试使用这些线条来改变Actionbar的颜色。
$scope.remove = function(item,quantity) {
// console.log(item);
if(quantity == 0){
//$scope.orders = ordersService.getOrders();
ordersService.getOrders().splice(this.$index, 1);
}
// var index = $scope.orders.indexOf(item);
// ordersService.orders.splice(this.$index, 1);
}
答案 2 :(得分:0)
使用此代码,您可以使用Color.parseColor()
,但可以使用资源中的颜色。
android.support.v7.app.ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
actionBar.setBackgroundColor(Color.parseColor("#"+Integer.toHexString(context.getResources().getColor(R.color.colorVelocity)));
}