如何向BottomSheetDialogFragment添加动画

时间:2017-10-11 17:02:04

标签: android android-animation bottom-sheet

我有一个BottomSheetDialogFragment,其中有两个按钮,当我点击任何按钮时,会调用dismiss()方法。有没有办法让BottomSheetDialogFragment动画化。我想让它显示一个持续时间为1000毫秒的慢速滑动动画。

示例代码

   signin.findViewById(R.id.signin_button_using).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            callback.onClickSignInEmail();
            dismiss();
        }
    })

1 个答案:

答案 0 :(得分:6)

在使用BottomSheetDialogFragment扩展的片段中,尝试覆盖此方法

@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将是您所需动画的实现。你可以在网上找到相同的例子。