作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个扩展AppCompatActivity
我是这样设置工具栏
的:
mToolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(mToolbar);
actionBar = getSupportActionBar();
assert actionBar != null;
actionBar.setHomeAsUpIndicator(R.drawable.ic_menu);
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setDisplayShowHomeEnabled(true);
要在打开或关闭 NavigationView
时为 Toolbar
图标设置动画,我这样做:
actionBarDrawerToggle =
new ActionBarDrawerToggle(this, mNavigationDrawer, R.string.open_drawer,
R.string.close_drawer);
mNavigationDrawer.setDrawerListener(actionBarDrawerToggle);
actionBarDrawerToggle.syncState();
我可以看到,当抽屉打开时,图标会动画到后退箭头,而当它关闭时,它会从箭头动画到汉堡包图标。
我想知道,在不打开或关闭 NavigationView
的情况下,如何以编程方式将图标动画化为箭头并返回到汉堡包图标。
类似于 gmail 应用程序。如果我们在电子邮件列表中并按下一封电子邮件,它会动画到箭头并显示电子邮件的内容,如果我们按下箭头,它会动画到汉堡包并显示电子邮件列表。
最佳答案
只是为了解决这个问题的人,我已经设法解决了这个问题:
ValueAnimator anim = ValueAnimator.ofFloat(start, end);
anim.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator valueAnimator) {
float slideOffset = (Float) valueAnimator.getAnimatedValue();
toolbarDrawerToggle.onDrawerSlide(drawerLayout, slideOffset);
}
});
anim.setInterpolator(new DecelerateInterpolator());
// You can change this duration to more closely match that of the default animation.
anim.setDuration(500);
anim.start();
从 here 中检索到解决方案
关于android - 以编程方式为工具栏图标设置动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31142621/
在 Rails 中,您可以使用嵌套路由为 has_one 和 has_many 关系创建 RESTful 路由。可以在 Rails Guides 上找到示例 请问有没有什么好的方法可以为habtm关系
我是一名优秀的程序员,十分优秀!