gpt4 book ai didi

java - 抽屉导航动画,drawerOpen被调用两次

转载 作者:行者123 更新时间:2023-12-01 12:05:37 26 4
gpt4 key购买 nike

我正在尝试在我的一个 View 上打开的抽屉导航上运行动画,以下是我的代码:

public void onDrawerOpened(View drawerView) {
getActionBar().setTitle(mDrawerTitle);
System.out.println("Called");

ObjectAnimator animation = ObjectAnimator.ofInt(pw, "progress", 200);
animation.setDuration(1000);
animation.setInterpolator(new DecelerateInterpolator());
animation.start();
// mDrawerList.setLayoutAnimation(getMaximAnim());

invalidateOptionsMenu();
}
};

每当我打开抽屉时,控制台都会打印两次 Called ,这意味着动画会发生两次,并且会以这种方式抖动。我只想为 View 设置一次动画,我哪里出错了,有什么提示吗?

这是我的抽屉幻灯片代码:

public void onDrawerSlide(View drawerView, float slideOffset) {
if(slideOffset > .55 && !drawerOpen){
onDrawerOpened(drawerView);
drawerOpen = true;
} else if(slideOffset < .45 && drawerOpen) {
onDrawerClosed(drawerView);
drawerOpen = false;
}
}

我引用了here

最佳答案

你不需要

onDrawerOpened(drawerView);

在你的 onDrawerSlide 中。它是由 Android 本身调用的。至于更改标题,请看这个:

public void restoreActionBar(){
ActionBar actionBar = getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
actionBar.setDisplayShowTitleEnabled(true);
actionBar.setTitle(mTitle);
}

并将 mTitle 设置为您在代码的另一部分中喜欢的任何字符串。

关于java - 抽屉导航动画,drawerOpen被调用两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27647075/

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