gpt4 book ai didi

android - 将抽屉图标设置为 setDisplayHomeAsUpEnabled 上的箭头?

转载 作者:IT王子 更新时间:2023-10-28 23:26:50 27 4
gpt4 key购买 nike

我使用 setDisplayHomeAsUpEnabled 来显示箭头而不是抽屉“汉堡”图标,但它没有动画或任何东西。相反,它会立即显示可绘制的箭头。

主屏幕:(专辑 1)

点击电影时:(专辑 2)

问题是,当我滑动抽屉时,图标的动画效果很好,这让我觉得也许我不应该为此使用 setDisplayHomeAsUpEnabled:(Album 3)

专辑: http://imgur.com/a/LkXbh

这是我的抽屉切换代码:

    Toolbar toolbar = (Toolbar) findViewById(R.id.my_awesome_toolbar);
setSupportActionBar(toolbar);

drawerAdapter = new DrawerAdapter(this, App.getNavItems(), getSupportFragmentManager());
drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
drawerList = (ExpandableListView) findViewById(R.id.left_drawer);

// Set onGroupClick and onChildClick
drawerAdapter.setClickEvents(MainActivity.this, drawerLayout, drawerList);
drawerList.setAdapter(drawerAdapter);

ActionBarDrawerToggle toolbarDrawerToggle = new ActionBarDrawerToggle(
this,
drawerLayout,
toolbar,
R.string.drawer_open,
R.string.drawer_close
) {

public void onDrawerClosed(View view) {
super.onDrawerClosed(view);
invalidateOptionsMenu();
}

public void onDrawerOpened(View view) {
super.onDrawerOpened(view);
invalidateOptionsMenu();
}
};
drawerLayout.setDrawerListener(toolbarDrawerToggle);
toolbarDrawerToggle.syncState();

编辑:我不希望在打开抽屉时播放动画,这已经可以了。我想在加载特定 fragment 时手动触发动画。我可能没有正确解释自己。

最佳答案

我还没有对此进行测试,但是您可以通过在 0(抽屉关闭)和 1(抽屉打开)之间设置 float 来实现这一点,然后将值传递给 ActionBarDrawerToggle.onDrawerSlide(View, float )。我相信这就是切换决定动画切换应该处于什么状态的方式。

这样的事情应该可以工作。

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();

关于android - 将抽屉图标设置为 setDisplayHomeAsUpEnabled 上的箭头?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26577006/

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