【发布时间】:2012-02-13 03:09:09
【问题描述】:
我有一个带有作为菜单出现的滑动抽屉的活动。当活动开始时,按钮在那里并淡出以允许全屏视图。当单击抽屉顶部的按钮时(此时它的 alpha 为 0),它应该淡入并弹出菜单。当再次点击菜单折叠和按钮淡出。为此,我在活动中有以下代码。
初始淡出按预期工作。活动被创建并且按钮淡出。当我单击按钮以展开菜单时,该按钮不会出现,当我再次单击它时,该按钮在那里并且不会淡出。奇怪的是,动画实际上是被调用的,如果我将滚动视图移动到抽屉后面,而动画之后的动画被调用,只要我保持其背景中的视图移动,动画就会正常进行。如果我停止移动这些视图,动画将冻结在某个 alpha 值。
为什么第一个功能正常,而其他功能不正常?我该如何解决这个问题?
drawer = (SlidingDrawer) this.findViewById(R.id.slidingDrawer1);
drawer.setOnDrawerCloseListener(new OnDrawerCloseListener(){
public void onDrawerClosed() {
doFadeOut();
}
});
drawer.setOnDrawerOpenListener(new OnDrawerOpenListener(){
public void onDrawerOpened() {
doFadeIn();
}
});
fadeOut = AnimationUtils.loadAnimation(this, R.anim.buttonfadeout);
fadeOut.setFillAfter(true);
fadeIn = AnimationUtils.loadAnimation(this, R.anim.buttonfadein);
fadeIn.setFillAfter(true);
doFadeOut(); //this is the end of onCreate and fades when the activity is created
这些是活动中的方法
public void doFadeOut(){
fadeOut.reset();
menuButton.clearAnimation();
menuButton.startAnimation(fadeOut);
}
public void doFadeIn(){
fadeIn.reset();
menuButton.clearAnimation();
menuButton.startAnimation(fadeIn);
}
【问题讨论】: