`

android 悬浮窗特效

阅读更多

最近在开发项目的时候需要做一个悬浮层的动画,类似于支付宝掉钱动画。但是区别在于,需求是浮出一个窗口,之后边缩放边位移至屏幕右下角标签处。效果图如下:

 

一开始考虑用自定义View来做。后来发现开线程让其移动很卡,ListView+动画也没法精确定位到目标点。

 

后来想利用Dialog的dismiss动画来完成。

 

自定义一个Dialog后,在style文件中定义两个style,一个样式,一个动画


style文件:


<style name="DialogAnimation" parent="@android:style/Animation.Dialog">


        <item name="android:windowEnterAnimation">@anim/dialog_show</item>


        <item name="@android:windowExitAnimation">@anim/dialog_dismiss</item>


</style>


 


<style name="Translucent_NoTitle" parent="android:style/Theme.Dialog">


        <item name="android:background">">@android:color/transparent</item>


        <item name="android:windowBackground">@android:color/transparent</item>


        <item name="android:windowIsTranslucent">true</item>



        <item name="android:windowContentOverlay">@null</item>



        <item name="android:windowNoTitle">true</item>



        <item name="android:windowIsFloating">true</item>

 

</style>

 

getWindow().getAttributes().windowAnimations = R.style.DialogAnimation;

 

后来发现也很卡,不知什么原因。

 

 

 

 

 

最后用半透明Activity总行了吧。

 

<activity
            
android:name=".GoldActivity"
            
android:theme="@android:style/Theme.Translucent.NoTitleBar" >
        
</activity>

 

缩放加平移动画:(取巧实现,scale和translate同时使用会没法控制移动位置)

 

 

 

<scale
android:duration="1000"
android:fillAfter="true"
android:fromXScale="100%"
android:fromYScale="100%"
android:interpolator="@anim/gold_accelerate_interpolator"
android:pivotX="87%"
android:pivotY="100%"
android:toXScale="10%"
android:toYScale="10%"/>

 

其中87%正好是下面三个标签的中间位置

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    Android桌面悬浮窗效果实现,仿360手机卫士悬浮窗效果 源码程序

    首先,我们需要理解Android悬浮窗的核心机制。在Android系统中,悬浮窗是通过`WindowManager`服务来实现的,主要涉及`LayoutParams`参数设置。悬浮窗通常使用`TYPE_PHONE`或`TYPE_SYSTEM_ALERT`类型的窗口,这两种...

    亲测可用 e4a 易安卓 BG悬浮窗类库 类库 易安卓悬浮窗类库 e4a悬浮窗

    1. **悬浮窗权限**:在AndroidManifest.xml文件中,开发者需要添加悬浮窗权限,即`&lt;uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/&gt;`。从Android 6.0 (API level 23)开始,用户需要在运行...

    Android桌面悬浮窗效果实现,仿360手机卫士悬浮窗效果

    总之,通过深入研究“360FloatWindowDemo”这个实例,开发者可以全面了解Android悬浮窗的实现原理和细节,从而在自己的应用中实现类似功能,提高用户体验。同时,需要注意的是,悬浮窗可能会对用户界面造成干扰,...

    网速显示悬浮窗特效

    这个应用由开发者mrrobot97编写,并命名为NetSpeed,其源代码是学习和研究Android悬浮窗与网络数据监测的理想材料。 描述中提到的"悬浮窗网速显示计"是一个在屏幕上方或任意位置浮动的小窗口,它可以持续显示当前...

    Android悬浮歌词框 悬浮的Activity并可拖动

    一个java源码实现的Android悬浮框特效,用来模仿有些音乐播放器中的悬浮歌词功能,使用Android Activity并可拖动悬浮框,@author 丸子。触摸点相对于屏幕左上角坐标,这个悬浮歌词框支持更新界面,源代码内支持定义...

    android activity的一些特效

    比如,使用`FragmentManager`和`FragmentTransaction`进行Fragment的管理,可以创建类似滑动菜单或顶部悬浮按钮的特效。 6. **生命周期管理**:Activity的生命周期是其特效实现的基础,理解何时初始化、显示、暂停...

    Android悬浮框弹幕效果

    这个"Android悬浮框弹幕效果"的示例项目就是一个很好的实践,它涵盖了如何利用`WindowManager`服务来创建浮动窗口,以及如何实现弹幕滚动的效果。下面我们将深入探讨这两个关键知识点。 首先,`WindowManager`是...

    Android 的一些特效

    7. **通知栏与悬浮窗**: - **Notification**:创建系统通知,可包含文本、图标、声音和扩展视图,提供点击操作。 - **System_ALERT_WINDOW**权限:允许应用显示浮动窗口,常用于聊天应用的小窗口回复功能。 8. *...

    歌词悬浮效果

    8. **兼容性处理**:考虑到Android系统的碎片化,需要确保悬浮窗在不同版本和设备上都能正常工作,可能需要适配不同屏幕尺寸和分辨率。 9. **权限管理和用户提示**:对于Android 6.0及以上版本,需要在运行时请求...

    Android界面

    "Android桌面悬浮窗效果实现,仿360手机卫士悬浮窗效果 - 郭霖的专栏 - 博客频道 - CSDN.NET.mht"文档可能详细介绍了如何利用 WindowManager 服务和 LayoutParams 设置悬浮窗的位置、大小和透明度,以及如何处理悬浮...

    Android项目之——页面特效集合(附源码).zip

    9. **通知和悬浮窗**:在Android中,通知是向用户传达信息的重要方式,而悬浮窗则可以提供快捷操作。源码可能包含了如何创建和管理这两类元素。 10. **Material Design 设计规范**:项目可能遵循了Material Design ...

    android上百例精品实例源码(非常值得下载)收藏

    android 悬浮窗 监视内容.rar android 指南针 源码.rar Android 瀑布流 Demo.rar Android 版本检测与管理.rar Android 电子杂志(带翻页效果)源码.rar Android 电量显示Widgets插件实现.zip Android 程序启动界面...

    Android项目之——页面特效集合(附源码).rar

    7. **滑动销毁/浮窗效果**:如底部导航栏的滑动隐藏,或者悬浮窗口的拖拽效果,这需要自定义Behavior和 CoordinatorLayout 结合使用。 8. **涟漪效果**:Material Design中的触摸反馈效果,可以实现类似水波纹扩散...

    Android代码-Launcher-master

    Launcher-master ...悬浮窗菜单 未完成 搜索 未完成 最近应用 未完成 说明: 该项目还在开发阶段,所以会存在很多bug,因此如果需要使用该项目进行公司项目开发的话,需要自己去修改存在的问题,本人

    悬浮窗口源码集合

    5. **安卓落花效果**:这是Android独有的视觉特效,通常通过粒子系统或者自定义View实现。粒子系统可以生成大量动态的、独立的“花瓣”,通过控制它们的位置、速度和旋转等属性,模拟花瓣飘落的动态效果,为用户带来...

    锁屏荧光效果

    7. **权限管理**: 如果此效果需要在锁屏状态下显示,可能需要申请相应的权限,例如在Android M及以上版本,可能需要请求“自启动”和“显示悬浮窗”权限。 8. **兼容性测试**: 由于Android设备的多样性和系统版本...

    仿360 浮动小插件效果(实用1).zip

    4. **权限声明** - 在AndroidManifest.xml文件中,需要声明悬浮窗权限(android.permission.SYSTEM_ALERT_WINDOW)和其他必要的权限。 5. **事件处理** - 代码会包含处理用户与小插件交互的逻辑,如点击、滑动等。 6...

    Android漂亮的UI界面.rar

    它可以悬浮于当前活动之上,不占据整个屏幕,这样既不会打断用户的操作流,又能引起注意。资源包中的对话框可能包含了不同风格和功能的对话框设计,如提示对话框、确认对话框和自定义对话框等。 其次,菜单(Menu)...

    android Apollo播放器源码.rar

    2. 播放控制器通常以悬浮小窗口的形式存在,方便用户在任何界面下控制音乐播放。 3. 通知栏控制,使用户在后台也能方便地控制音乐播放。 五、音乐库管理 Apollo提供了扫描本地音乐库的功能,通过扫描SD卡上的MP3等...

Global site tag (gtag.js) - Google Analytics