Android仿IOS右滑关闭页面

本文介绍了如何在Android应用中实现类似iOS的右滑关闭页面的效果。通过设置透明主题,自定义布局并重写触摸事件处理,以及使用切换动画,实现了滑动关闭页面的功能。此外,还提供了一种判断是否启用滑动关闭的方法。
摘要由CSDN通过智能技术生成

最近在开发项目的时候,需要Android做到和IOS右滑关闭页面一样的效果。由于Android本身并没有这个滑动事件,所以需要我们自己来写一个关闭页面的滑动事件。

要想页面关闭后不继续遮挡下面的页面所以首先要设置页面的主题样式为透明,由于在一个项目中有的页面不能滑动关闭(比如主页面),所以在这里我们设置两个不同的主题样式

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

<style name="AppTheme.Slide" parent="@style/AppTheme">
    <!--Required-->
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowAnimationStyle">@style/AppTheme.Slide.Animation</item>
</style>

<style name="AppTheme.Slide.Animation" parent="@android:style/Animation.Activity">
    <item name="android:activityOpenEnterAnimation">@anim/anim_slide_in</item>
    <item name="android:activityOpenExitAnimation">@anim/anim_slide_out</item>
    <item name="android:activityCloseEnterAnimation">@anim/anim_slide_in</item>
    <item name="android:activityCloseExitAnimation">@anim/anim_slide_out</item>
</style>

如果需要滑动关闭则指定样式为AppTheme.Slide,否则知道样式为AppTheme(切记,样式需要在清单文件中引用)。
这里的AppTheme.Slide.Animation是用来定义滑动页面时的切换动画,以便增强体验

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值