尝试更改Android操作栏上homeAsUp按钮的颜色失败。我需要在运行时执行此操作。这里是我得到的:尝试更改ActionBar homeAsUp按钮的颜色
@Override public boolean onCreateOptionsMenu(Menu menu){ //充气菜单;这会将项目添加到操作栏(如果存在)。 getMenuInflater()。inflate(R.menu.menu_register_one,menu);
MenuItem homeItem = null;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
homeItem = menu.findItem(R.id.home);
} else {
homeItem = menu.findItem(R.id.up);
}
if (homeItem == null) {
// I always wind up with a null homeItem
Log.e(Constants.TAG, "null");
} else {
Drawable homeIcon = (Drawable) homeItem.getIcon();
homeIcon.mutate().setColorFilter(Color.parseColor(sharedVisualElements.primaryFontColorHexString()), PorterDuff.Mode.SRC_IN);
homeItem.setIcon(homeIcon);
}
// this part works just fine
MenuItem nextItem = menu.findItem(R.id.next);
Drawable newIcon = (Drawable)nextItem.getIcon();
newIcon.mutate().setColorFilter(Color.parseColor(sharedVisualElements.primaryFontColorHexString()), PorterDuff.Mode.SRC_IN);
nextItem.setIcon(newIcon);
return true;
}
这总是空状态的homeItem卷起。我动作条看起来像这样(两个箭头应该是绿色的和相同的大小):
那么,你的答案将得到满足,这就是我的建议。祝你好运和tc –
感谢你!它几乎在那里,但它使用不推荐的方法,所以我更新了它。 – Alex