demo下载
将SelectPicActivity从底部悬浮在PublishActivityActivity上,清单文件配置如下:
<!-- 选择拍照/相册/取消 --> <activity android:configChanges="keyboard|keyboardHidden|orientation" android:name="com.app.view.SelectPicActivity" android:theme="@style/DialogStyleBottom" > </activity>
在styles.xml创建DialogStyleBottom样式,如下:
<style name="DialogStyleBottom" parent="android:Theme.Dialog"> <item name="android:windowAnimationStyle">@style/AnimBottom</item> <!-- 边框 --> <item name="android:windowFrame">@null</item> <!-- 是否浮现在activity之上 --> <item name="android:windowIsFloating">false</item> <!-- 半透明 --> <item name="android:windowIsTranslucent">true</item> <!-- 无标题 --> <item name="android:windowNoTitle">true</item> <!-- 背景透明 --> <item name="android:windowBackground">@android:color/transparent</item> <!-- 模糊 --> <item name="android:backgroundDimEnabled">true</item> </style>
在styles.xml创建AnimBottom样式,如下:
<style name="AnimBottom" parent="@android:style/Animation"> <item name="android:windowEnterAnimation">@anim/push_bottom_in</item> <item name="android:windowExitAnimation">@anim/push_bottom_out</item> </style>
在res/anim文件夹创建两个动画xml文件,push_bottom_in.xml和push_bottom_out.xml
push_bottom_in.xml:
<?xml version="1.0" encoding="utf-8"?> <!-- 上下滑入式 --> <set xmlns:android="http://schemas.android.com/apk/res/android" > <translate android:duration="200" android:fromYDelta="100%p" android:toYDelta="0" /> </set>
push_bottom_out.xml:
<?xml version="1.0" encoding="utf-8"?> <!-- 上下滑出式 --> <set xmlns:android="http://schemas.android.com/apk/res/android" > <translate android:duration="200" android:fromYDelta="0" android:toYDelta="50%p" /> </set>
效果图: