我正在尝试为我的一个activity_main.xml布局中的相对布局设置动画。我希望当可见性设置为可见时,相对布局向上滑动,而当可见性设置为消失/不可见时,相对布局向下滑动。但我只能让动画向上滑动和向下滑动一次。当我再次单击按钮使布局再次向上滑动(并设置为可见)时,布局只是弹出而没有动画;当我再次单击按钮使其向下滑动(并设置为消失/不可见)时,布局也只是消失而没有动画。我真的很感谢你的帮助。非常感谢!
以下是我尝试过的方法:
Private RelativeLayout relLayoutInfo = findViewById(R.id.rel_Layout_Info);
Private Button btnSlideUp = findViewById(R.id.btn_Up);
Private Button brnSlideDown = findViewById(R.id.btn_Down);
private Animation extraInfoAnimationEnter = AnimationUtils.loadAnimation(getApplicationContext(),R.anim.details_info_animation_enter);
Private extraInfoAnimationExit = AnimationUtils.loadAnimation(getApplicationContext(),R.anim.details_info_animation_exit);
btnSlideUp.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
relLayoutInfo.setAnimation(extraInfoAnimationEnter);
relLayoutInfo.setVisibility(View.VISIBLE);
}
});
btnSlideDown.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
relLayoutInfo.setAnimation(extraInfoAnimationExit);
relLayoutInfo.setVisibility(View.GONE);
}
});这是extraInfoAnimationEnter的动画文件:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromYDelta="100%"
android:toYDelta="0"
android:duration="500">
</translate>
</set>这是extraInfoAnimationExit的动画文件:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromYDelta="0"
android:toYDelta="100%"
android:duration="500">
</translate>
</set>https://stackoverflow.com/questions/68397542
复制相似问题