Android常用组件整理(轮播、权限、图表、刷新、对话框、数据库)

常用组件整理

前言

常用组件整理

      整理一些Android常用的框架。文章整理时间为2020年9月份。

      我这文章这段时间有点儿guy,必须关注才能查阅。是因为这文章本来不适宜传递到网上,所以我就想通过这样的方式减少他人的阅读兴趣。


整理角度

      轮播

      动态权限申请

      图表

      刷新控件

      对话框

      数据库


轮播 

使用组件 。位于GitHub榜首,且再无敌手。度娘7成的文章都是使用的这个组件。参考GitHub地址

效果预览
  • 默认

    Android常用组件整理(轮播、权限、图表、刷新、对话框、数据库)
  • 魅族

    Android常用组件整理(轮播、权限、图表、刷新、对话框、数据库)
  • 文字标题

    Android常用组件整理(轮播、权限、图表、刷新、对话框、数据库)
  • 外部指示器

    Android常用组件整理(轮播、权限、图表、刷新、对话框、数据库)
原理简析

    封装ViewPager2,融入指示器、标题和切换动画等效果

选型原因
  • 使用了ViewPager2为基础控件 [ViewPager2介绍]
  • 支持了androidx兼容包
  • 方便了UI、Indicator自定义
  • 支持画廊效果、魅族效果
  • 兼容了水平和垂直轮播,也可以实现类似淘宝头条的效果
  • 依赖包目前只需要导入了ViewPager2
  • 内置了多种PageTransformer效果(切换的动画效果)
适用场景

    在固定区域轮换的切换文本、图片、音视频等

demo实现

动态权限申请 

动态权限申请的框架很多,感觉也各有用途。截止2020年9月16日,在GitHub上查询到一些受欢迎的框架:星数超过10K,接近10K,超过6K,超过8.7K,(郭霖2020年推出的一个框架)星数暂时不及1K。另外还有我们之前用过的当中也有权限申请的功能。

在这里我简单展示一些权限申请框架,并说明用法。

市面上这些权限申请框架基本都是通过一个隐形的Activity或者是Fragment来展示权限申请框。通过源码可以看到一些痕迹。

选型一:RxPermissions

特点

基于打造的一个申请框架,能够配合其他Rx库使用。参考GitHub地址

示例
  • 申请多个权限
  • 单独处理每个结果
  • 与 库配合

选型二:AndroidUtilCode

Blankj/AndroidUtilCode库中存在一个权限申请工具类 。参考GitHub地址

特点

几乎一个工具类就实现了简单的动态权限申请。功能简单,占用空间小。

示例

选型三:PermissionX

这是郭霖在2020年初才正式推出的一个框架,比较年轻,所以GitHub星数暂时也很少。参考GitHub地址

特点

考虑了一些用户使用过程中的习惯,提供了一些人性化的实现方式:

  • 在申请权限前先显示提示语(方法)
  • 在永久拒绝的时候如果再次请求提供跳转功能(方法)
  • 自定义提示框的外观(这是其他框架没有的,充满了未来感)

因为才推出不久,功能点还在不停拓展,值得期待。

示例

选型四:PermissionsDispatcher

特点

通过 注解代理 的方式进行权限申请。注解的方式处理权限,使用方法独一无二。但是感觉设置的过程也还是有点儿麻烦。参考GitHub地址

示例

五个注解:(must)、(must)、、、
构成了一个完整的过程。除此之外还要设置权限请求的代理,将此页面的权限请求代理给。

Annotation Required Description
@NeedsPermission ? Annotate a method which performs the action that requires one or more permissions
@RuntimePermissions ? Register an Activity or Fragment to handle permissions
@OnShowRationale Annotate a method which explains why the permissions are needed. It passes ina PermissionRequest object which can be used to continue or abort the current permission request upon user input. If you don’t specify any argument for the method compiler will generate process${NeedsPermissionMethodName}ProcessRequest and
cancel${NeedsPermissionMethodName}ProcessRequest. You can use those methods in place of PermissionRequest(ex: with DialogFragment)
@OnNeverAskAgain Annotate a method which is invoked if the user chose to have the device “never ask again” about a permission
@OnPermissionDenied Annotate a method which is invoked if the user doesn’t grant the permissions
1. 设置注解
2. 设置代理

图表 

关于图表,在度娘上很多文章都是推荐的(GitHub地址),GitHub星数超过31K,相比之下其他的框架的星数都寥寥无几。GitHub上Android图表第二名是,星数超过7K,上一个版本是2015年9月份。

效果预览
  • 条形图(样式一)
    Android常用组件整理(轮播、权限、图表、刷新、对话框、数据库)

  • 条形图(样式三)

Android常用组件整理(轮播、权限、图表、刷新、对话框、数据库)

  • 柱状图(样式一)

Android常用组件整理(轮播、权限、图表、刷新、对话框、数据库)

  • 柱状图(样式三)

Android常用组件整理(轮播、权限、图表、刷新、对话框、数据库)

  • 饼状图

Android常用组件整理(轮播、权限、图表、刷新、对话框、数据库)

  • 蜡烛图

Android常用组件整理(轮播、权限、图表、刷新、对话框、数据库)

  • 雷达图

Android常用组件整理(轮播、权限、图表、刷新、对话框、数据库)

刷新控件 

在GitHub上,的星数超过21K,其余超过3K的都是超过4年都没有更新版本的。这也是我在这里展示的框架。

另外需要提及的有,是谷歌方法的一个下拉控件。但是不支持上拉加载,不支持多样化的刷新动画。

GitHub搜索语句:

选型原因
  • 支持多点触摸
  • 支持淘宝二楼和二级刷新
  • 支持嵌套多层的视图结构 Layout (LinearLayout,FrameLayout…)
  • 支持所有的 View(AbsListView、

    来源:le540850072

    声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年8月22日
下一篇 2020年8月22日

相关推荐