gpt4 book ai didi

android - 以编程方式为工具栏图标设置动画

转载 作者:太空狗 更新时间:2023-10-29 14:56:16 26 4
gpt4 key购买 nike

我有一个扩展AppCompatActivity

的 Activity

我是这样设置工具栏的:

    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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com