将SearchLineActivity 悬浮在ShowMapAddressActivity上,在清单文件配置如下:
<!-- 从起始位置查找路线 -->
<activity
android:configChanges="keyboard|keyboardHidden|orientation"
android:name="com.app.view.SearchLineActivity"
android:theme="@style/DialogStyleHead" >
</activity>
在styles.xml 定义一个名叫 DialogStyleHead样式,如下:
<style name="DialogStyleHead" parent="android:Theme.Dialog">
<item name="android:windowAnimationStyle">@style/AnimHead</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 定义一个名叫 AnimHead动画效果样式,如下:
<style name="AnimHead" parent="@android:style/Animation">
<item name="android:windowEnterAnimation">@anim/push_head_in</item>
<item name="android:windowExitAnimation">@anim/push_head_out</item>
</style>
在res/anim 新建两个动画xml文件,名为push_head_in.xml和push_head_out.xml,如下:
push_head_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%p"
/>
</set>
push_head_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%p"
android:toYDelta="-100%p" />
</set>
android:duration: 动画运行时间,定义在多次时间(ms)内完成动画
fromXDelta: X轴方向开始位置,可以是%,也可以是具体的像素 具体见图
toXDelta: X轴方向结束位置,可以是%,也可以是具体的像素
fromYDelta: Y轴方向开始位置,可以是%,也可以是具体的像素
toYDelta: Y轴方向结束位置,可以是%,也可以是具体的像素
动画参考:http://www.cnblogs.com/bavariama/archive/2013/01/29/2881225.html
效果图如下: