Android setAnimationListener仅在抽屉布局打开后工作
我有一个MainActivity,它有抽屉布局、一些片段和布局。我的类从FragmentActivity扩展而来 这个版面的边距为-200(它在我的活动范围之外做这个版面)。我想用动画显示这个版面 问题是:当我点击启动动画的按钮时,动画不会运行(当我调试mey code animation.setAnimationListener时,不要调用),但当我向右滑动屏幕并调用drawerlayout来显示它时,在调用animation.setAnimationListener之后…我做错了什么 单击启动动画的按钮时的代码:Android setAnimationListener仅在抽屉布局打开后工作,android,animation,Android,Animation,我有一个MainActivity,它有抽屉布局、一些片段和布局。我的类从FragmentActivity扩展而来 这个版面的边距为-200(它在我的活动范围之外做这个版面)。我想用动画显示这个版面 问题是:当我点击启动动画的按钮时,动画不会运行(当我调试mey code animation.setAnimationListener时,不要调用),但当我向右滑动屏幕并调用drawerlayout来显示它时,在调用animation.setAnimationListener之后…我做错了什么 单击启
动画幻灯片=null代码>
slide = AnimationUtils.loadAnimation(getApplicationContext(),
R.anim.share_up);
right_menu.startAnimation(slide);`
slide.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationRepeat(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
right_menu.clearAnimation();
FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(
LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
layoutParams.setMargins(0, topmargin, 0, 0);
right_menu.setLayoutParams(layoutParams);
}
});
我调用抽屉布局的代码很简单:
if(mDrawerLayout.isDrawerOpen(GravityCompat.START)){
mDrawerLayout.closeDrawer(重力compat.START);
}否则{
mDrawerLayout.openDrawer(重力compat.START);
}
1st slide.setAnimationListener和2nd right_菜单。开始动画(幻灯片);另一方面,我的布局名称是right_menu(右菜单)。我想用动画显示右菜单,否则我不明白你的意思。首先设置AnimationListener。完成后,您可以启动动画。如果你用另一种方式来做,动画将开始,但监听器可能不会被设置为yetok,我会修复这个问题,但直到我调用DrawerLayout它才工作。我的问题的解决方法是:代码(我忘记了添加setAnimation):动画幻灯片=null;slide=AnimationUtils.loadAnimation(getApplicationContext(),R.anim.share\u up);slide.setAnimationListener(新建AnimationListener(){….};右菜单.setAnimation(幻灯片);右菜单.startAnimation(幻灯片);