看到微博的那个点击底部加号弹出菜单的效果很好,所以,今天用dialog做了一下,这里分享一下,我主要是为了做这个回弹效果:
我做的dialog是从底部弹出的,所以先定义一个dialog,然后调用他的动画效果
DialogUtil.createDialog(context, R.layout.activity_home_req, R.style.ActionSheetDialogStyle)
<style name="ActionSheetDialogStyle" parent="@android:style/Theme.Dialog"> <!-- 背景透明 --> <item name="android:windowBackground">@android:color/transparent</item> <item name="android:windowContentOverlay">@null</item> <!-- 浮于Activity之上 --> <item name="android:windowIsFloating">true</item> <!-- 边框 --> <item name="android:windowFrame">@null</item> <!-- Dialog以外的区域模糊效果 --> <item name="android:backgroundDimEnabled">true</item> <!-- 无标题 --> <item name="android:windowNoTitle">true</item> <!-- 半透明 --> <item name="android:windowIsTranslucent">true</item> <!-- Dialog进入及退出动画 --> <item name="android:windowAnimationStyle">@style/ActionSheetDialogAnimation</item> </style> <!-- ActionSheet进出动画 --> <style name="ActionSheetDialogAnimation" parent="@android:style/Animation.Dialog"> <item name="android:windowEnterAnimation">@anim/actionsheet_dialog_in</item> <item name="android:windowExitAnimation">@anim/actionsheet_dialog_out</item> </style>
回弹效果我是在actionsheet_dialog_in里面加的,主要是我红线圈出的这句:
actionsheet_dialog_out的代码如下:
<?xml version="1.0" encoding="utf-8"?> <translate xmlns:android="http://schemas.android.com/apk/res/android" android:duration="200" android:fromYDelta="0" android:toYDelta="100%" />
先前我是想用抖动的动画来实现的,好像效果不如这个好,你们可以试试,我没有用抖动,代码如下:
以上就是我做的一个小东西,希望对你们有用!