gpt4 book ai didi

android - fragment 对话框在关闭时为布局设置动画

转载 作者:行者123 更新时间:2023-11-30 03:33:13 24 4
gpt4 key购买 nike

这是我的做法:

一个。 FragmentDialog 的布局在 onCreateView

中膨胀

` View layout = inflater.inflate(R.layout.my_layout, null);

   layMain = (LinearLayout) layout.findViewById(R.id.layMain);           
final Animation anim = AnimationUtils.loadAnimation(getActivity(), R.anim.translate_from_bottom);
layMain.startAnimation(anim);`

创作动画效果很好。但是,我需要找到一种方法,在关闭时(例如,当用户按下后退按钮时)运行动画,然后关闭 FragmentDialog

我不想使用 android:windowEnterAnimation/android:windowExitAnimation,因为并非所有设备在开发者菜单中都有激活的动画,我需要在所有情况下运行动画。

所以基本上,我应该重写什么事件才能运行动画,并在动画结束时进行关闭操作?

最佳答案

在这里找到https://stackoverflow.com/a/8209841/379865有效的解决方案非常简单:获取对话框并监听按键。

getDialog().setOnKeyListener(new OnKeyListener() {

@Override
public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK)
{
final Animation anim =
AnimationUtils.loadAnimation(getActivity(),
R.anim.translate_to_bottom);
anim.setAnimationListener(new AnimationListener() {

@Override
public void onAnimationStart(Animation animation) {
// TODO Auto-generated method stub

}

@Override
public void onAnimationRepeat(Animation animation) {
// TODO Auto-generated method stub

}

@Override
public void onAnimationEnd(Animation animation) {
dismiss();

}
});
layMain.startAnimation(anim);
return true;
}
return false;
}
});

关于android - fragment 对话框在关闭时为布局设置动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17072930/

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