Android的DialogActivity如何实现动画效果

avatar
作者
筋斗云
阅读量:0

要在Android的DialogActivity中实现动画效果,可以通过以下步骤实现:

  1. 创建一个自定义的Dialog样式,在res/values/styles.xml文件中定义一个新的样式,例如:
<style name="CustomDialogStyle" parent="Theme.AppCompat.Dialog">     <item name="android:windowAnimationStyle">@style/DialogAnimation</item> </style>  <style name="DialogAnimation">     <item name="android:windowEnterAnimation">@anim/slide_in</item>     <item name="android:windowExitAnimation">@anim/slide_out</item> </style> 
  1. 创建进入和退出动画效果的xml文件,例如res/anim/slide_in.xml和res/anim/slide_out.xml:

slide_in.xml:

<set xmlns:android="http://schemas.android.com/apk/res/android">     <translate         android:fromXDelta="100%p"         android:toXDelta="0"         android:duration="300"/> </set> 

slide_out.xml:

<set xmlns:android="http://schemas.android.com/apk/res/android">     <translate         android:fromXDelta="0"         android:toXDelta="100%p"         android:duration="300"/> </set> 
  1. 在DialogActivity的onCreate方法中设置Dialog的样式:
@Override protected void onCreate(Bundle savedInstanceState) {     super.onCreate(savedInstanceState);     setContentView(R.layout.activity_dialog);      // 设置Dialog的样式     getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));     getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);     getWindow().setWindowAnimations(R.style.DialogAnimation);      // 其他代码 } 

这样就可以在DialogActivity中实现动画效果了。当DialogActivity显示时,将会有一个从右侧滑入的动画效果;当DialogActivity退出时,将会有一个向右侧滑出的动画效果。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!