2017-10-11 75 views
0

我有一个BottomSheetDialogFragment,其中有两个按钮,当我点击任何按钮dismiss()方法被调用。有没有一种方法可以为BottomSheetDialogFragment设置动画效果。我想让它显示一个缓慢的滑动动画,持续时间为1000毫秒。如何添加动画BottomSheetDialogFragment

示例代码

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

请注意。参考这个https://stackoverflow.com/questions/19765938/show-and-hide-a-view-with-a-slide-up-down-animation –

+0

@pritesh onClickSignInEmail()带我们到一个新的片段。如果你理解正确** BottomSheetDialogFragment **它使用dismiss()来结束底部对话框和你没有帮助的文章 – Vijay

回答

0

在你的片段,该片段被扩展为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将是您的实施n所需的动画。你可以在网上找到大量的例子。

+0

我已经添加了slide_up和向下动画。但似乎持续时间不起作用。 <?XML版本= “1.0” 编码= “UTF-8”>我还添加的1500毫秒 ** ** slide_down.xml '持续时间 <翻译的xmlns:机器人=“HTTP: //schemas.android.com/apk/res/android“ android:duration =”500“ android:fromYDelta =”100%p“ android:toYDelta =”0%p“/>' – Vijay

+0

样本幻灯片链接动画[链接](https://stackoverflow.com/questions/19765938/show-and-hide-a-view-with-a-slide-up-down-animation?noredirect=1&lq=1) – Vijay