我有一个BottomSheetDialogFragment,其中有两个按钮,当我点击任何按钮时,会调用dismiss()方法。有没有办法让BottomSheetDialogFragment动画化。我想让它显示一个持续时间为1000毫秒的慢速滑动动画。
示例代码
signin.findViewById(R.id.signin_button_using).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
callback.onClickSignInEmail();
dismiss();
}
})
答案 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将是您所需动画的实现。你可以在网上找到相同的例子。