我有一个 BottomSheetDialogFragment,其中有两个按钮,当我单击任何按钮时,会调用 dismiss() 方法。有没有一种方法可以使 BottomSheetDialogFragment 动画化。我希望它显示一个持续时间为 1000 毫秒的缓慢下滑动画。
示例代码
signin.findViewById(R.id.signin_button_using).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
callback.onClickSignInEmail();
dismiss();
}
})
最佳答案
在使用 BottomSheetDialogFragment
扩展的 fragment 中,尝试像这样覆盖此方法
@Override
public void onActivityCreated(Bundle arg0) {
super.onActivityCreated(arg0);
getDialog().getWindow()
.getAttributes().windowAnimations = R.style.DialogAnimation;
}
DialogAnimation 可以这样定义样式
<style name="DialogAnimation">
<item name="android:windowEnterAnimation">@anim/slide_up</item>
<item name="android:windowExitAnimation">@anim/slide_down</item>
</style>
此外,slide_up 和 slide_down 将是您所需动画的实现。您可以在网上找到大量相同的示例。
关于android - 如何将动画添加到 BottomSheetDialogFragment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46693846/