在折叠appBarLayout时更改工具栏背景颜色 我使用了下面的代码
AppBarLayout appBarLayout = findViewById(R.id.app_bar);
appBarLayout.addOnOffsetChangedListener(new AppBarLayout.OnOffsetChangedListener() {
@Override
public void onOffsetChanged(AppBarLayout appBarLayout, int verticalOffset) {
float offset = (float) Math.abs(verticalOffset) / appBarLayout.getTotalScrollRange();
toolbar.getBackground().setAlpha((int) (offset * 255));
}
});
现在我想更改appBarLayout折叠时工具栏上的菜单项的颜色,如下面样本
答案 0 :(得分:0)
Menu mItem;
@Override
public boolean onCreateOptionsMenu(Menu menu) {
mItem = menu;
getMenuInflater().inflate(R.menu.bookmark_menu, menu);
return super.onCreateOptionsMenu(menu);
}
获取menu.in你的offsetchangelistener
的参考appBarLayout.addOnOffsetChangedListener(new AppBarLayout.OnOffsetChangedListener()
{
@Override
public void onOffsetChanged (AppBarLayout appBarLayout,int verticalOffset){
float offset = (float) Math.abs(verticalOffset) / appBarLayout.getTotalScrollRange();
toolbar.getBackground().setAlpha((int) (offset * 255));
mItem.findViewById(R.id.example).getIcon().setColorFilter(ContextCompat.getColor(ActivityHome.this, R.color.yourcolor), PorterDuff.Mode.SRC_IN);
}
});