Android 侧划,如斯优雅

SwipePanel(侧划控件)

Background

对市面上实现的侧划返回不是很满意(仿微信,QQ 通过修改窗口透明坑太多),最终决定还是亲手写一个高实用性的吧,效果如下所示,换个图标,更多划动功能可以由你自己解锁,总共一个 600 多行代码的类,推荐通过阅读源码,你肯定会收获很多哈。

Preview

 

Download

Gradle:

implementation 'com.blankj:swipe-panel:1.0'

How to use

动态

final SwipePanel swipePanel = new SwipePanel(this);
swipePanel.setLeftEdgeSize(SizeUtils.dp2px(100));// 设置左侧触发阈值 100dp
swipePanel.setLeftDrawable(R.drawable.base_back);// 设置左侧 icon
swipePanel.wrapView(findViewById(R.id.rootLayout));// 设置嵌套在 rootLayout 外层
swipePanel.setOnFullSwipeListener(new SwipePanel.OnFullSwipeListener() {// 设置完全划开松手后的监听@Overridepublic void onFullSwipe(int direction) {finish();swipePanel.close(direction);// 关闭}
});

静态

<com.blankj.swipepanel.SwipePanelxmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"xmlns:app="http://schemas.android.com/apk/res-auto"android:id="@+id/swipePanel"android:background="@color/mediumGray"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".LayoutSwipePanelActivity"app:isLeftCenter="false"app:leftEdgeSize="100dp"app:leftSwipeColor="@color/colorPrimary"app:leftDrawable="@drawable/base_back">...</com.blankj.swipepanel.SwipePanel>

API

方法名 属性名 说明
setLeft(Top, Right, Bottom)SwipeColor app:left(top, right, bottom)SwipeColor 设置左(上、右、下)测颜色
setLeft(Top, Right, Bottom)EdgeSize app:left(top, right, bottom)EdgeSize 设置左(上、右、下)测触发阈值
setLeft(Top, Right, Bottom)Drawable app:left(top, right, bottom)Drawable 设置左(上、右、下)测 icon
setLeft(Top, Right, Bottom)Center app:isLeft(Top, Right, Bottom)Center 设置左(上、右、下)测是否居中
setLeft(Top, Right, Bottom)Enabled app:isLeft(Top, Right, Bottom)Enabled 设置左(上、右、下)测是否可用
wrapView --- 设置嵌套在该 view 的外层
setOnFullSwipeListener --- 设置完全划开松手后的监听
isOpen --- 判断是否被划开
close ---

关闭

参考地址:https://github.com/Blankj/SwipePanel

android优雅的一个侧滑相关推荐

  1. android中仿qq最新版抽屉,Android实现3种侧滑效果(仿qq侧滑、抽屉侧滑、普通侧滑)...

    自己实现了一下侧滑的三种方式(注释都写代码里了) 本文Demo下载地址:Andriod侧滑 本文实现所需框架:nineoldandroids下载地址:nineoldandroids 1.普通侧滑: 主 ...

  2. Android 打造完美的侧滑菜单/侧滑View控件

    概述 Android 打造完美的侧滑菜单/侧滑View控件,完全自定义实现,支持左右两个方向弹出,代码高度简洁流畅,兼容性高,控件实用方便. 详细 代码下载:http://www.demodashi. ...

  3. Android自定义控件----继承ViewGroup侧滑菜单5,抽屉式侧滑,QQ5.0效果(完结)

    效果图: 项目结构: QQ5.0的侧滑 和抽屉菜单的区别 简单的说就是在onScrollChanged方法中加入了缩放,偏移,渐变属性动画效果 区别1:内容1:内容区域 1.0到0.7 缩放效果 sc ...

  4. android sqlite自定义函数,Android中自定义一个View的方法详解

    本文实例讲述了Android中自定义一个View的方法.分享给大家供大家参考,具体如下: Android中自定义View的实现比较简单,无非就是继承父类,然后重载方法,即便如此,在实际编码中难免会遇到 ...

  5. 怎么用Android做登录界面,利用Android怎么制作一个APP登录界面

    利用Android怎么制作一个APP登录界面 发布时间:2020-12-02 17:09:10 来源:亿速云 阅读:79 作者:Leah 这期内容当中小编将会给大家带来有关利用Android怎么制作一 ...

  6. Android:如何添加一个页面,如何跳转页面

    一.如何为安卓添加多个页面 新建一个工程 打开这样 然后删掉 @Override     public boolean onCreateOptionsMenu(Menu menu) {        ...

  7. 让一个图片填满一个控件_如何在Android中实现一个全景图控件(二)

    一.背景 在 如何在Android中实现一个全景图控件(一)中,介绍了项目的一些基本情况(有 demo 演示),如果项目对你有帮助,希望文章赏个赞,项目 star 一下. 项目地址:https://g ...

  8. Android Studio SVN配置忽略文件 1.用Android Studio创建一个项目,会在根目录和Module目录下自动生成.gitignore文件,貌似是Git的配置文件,

    Android Studio SVN配置忽略文件 1.用Android Studio创建一个项目,会在根目录和Module目录下自动生成.gitignore文件,貌似是Git的配置文件,和SVN没有关 ...

  9. android studio创建一个类继承application_带你全方位了解Android中的Context

    这道题想考察什么? 是否熟悉Context类结构 是否熟悉Application,Activity,Service和Context的依赖关系 Application,Activity,Service中 ...

最新文章

  1. codevs1520 回文字符串
  2. 记录因xen而导致lvs,realserver转发activeconn为0
  3. 浅谈权限管理的设计与实现
  4. ABAP事物码SFW5里business function前面的双箭头图标是什么含义
  5. Iris recognition papers in the top journals in 2017
  6. mysql 在查询语句返回的列中包含一列表示该条记录在整个结果集中的行号
  7. Java提高篇——静态代码块、构造代码块、构造函数以及Java类初始化顺序
  8. python3基本数据类型02——列表、元组
  9. css关键字unset
  10. C# 中的字符串内插
  11. C++ 运算符重载四(自定义数组类)
  12. docker 安装wiki.js 和wekan
  13. SPSS中的数据分析—信度效度检验【2】
  14. 自动薅羊毛技术方案总结
  15. 基于snowfall的玫瑰花瓣飘落效果
  16. 【Python爬虫项目实战二】Chatgpt还原验证算法-解密某宝伪知网数据接口
  17. JS的DOM对象操作
  18. 前端好还是后端好,看看7年前端和后端怎么说
  19. 程序员未来的出路究竟在哪里?一位老码农的心声
  20. HADOOP SPILL FAILED原因

热门文章

  1. IdentityServer(14)- 通过EntityFramework Core持久化配置和操作数据
  2. (五)nginx设置静态文件不记录日志
  3. Linux-磁盘及网络IO工作方式解析
  4. 利用WPS 2013文字制作精美的信纸的方法
  5. linux 对于Vim配置的方法
  6. css圆角box(宽度自适应)(百度知道挖出)
  7. sql关系数据库计算机,关系数据库语言SQL - 淮阴工学院计算机工程实验中 ….ppt...
  8. google android ui,UI Automator
  9. php操作xml类,PHP实现的XML操作类【XML Library】
  10. rpm打包的流程包括以下哪些_品牌策划的流程包括哪些?