android - 如何将动画添加到 BottomSheetDialogFragment

标签 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();
        }
    })

最佳答案

在使用 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/

相关文章:

android - 列数更改时动画回收器 View 网格

android - AnimationListener 函数(例如 : onAnimationEnd) not working for Fragment Transition Animations

android - bottomSheetDialogFragment 全屏

android - 是否可以让 setOnClickListener block 等待其中的方法调用?

android - DialMyApp 如何在 Android 设备上运行?

Android Canvas 绘制/动画缓慢

android-viewpager - TabLayout,BottomSheetDialogFragment中的ViewPager

java - 无需使用按钮即可自动打开 Bottom Sheet

android - 应用程序在 Camera.Release() 上卡住

android - Android Market 如何保护我的应用程序不被分发?