0:引言

最近自己在写一个安卓软件,把我做的sci.ci这个网站接入到移动端来。在写这个软件的过程中,遇到了非常多优秀的开源库,这些库简化了我很多工作,在此将他们分享出来。

1:Kongzue Dialog V3

自定义Toast对话框,仿IOS设计

项目地址:https://github.com/kongzue/DialogV3

1.1 引入

1.1.1Support 版本

Maven仓库:

1
2
3
4
5
6
<dependency>
<groupId>com.kongzue.dialog_v3</groupId>
<artifactId>dialog</artifactId>
<version>3.1.8</version>
<type>pom</type>
</dependency>

Gradle: 在dependencies{}中添加引用:

1
implementation 'com.kongzue.dialog_v3:dialog:3.1.8'

1.2 功能

1.2.1 基本对话框

1.2.2 输入对话框

输入对话框

1.2.3等待提示对话框

等待提示框

1.2.4底部菜单

底部菜单

1.2.5通知

通知

1.2.6分享对话框

分享

1.2.7全屏

全屏

2:YCVideoPlayer

视频播放器封装库,仿爱奇艺、优酷。

项目地址:https://github.com/yangchong211/YCVideoPlayer

2.1 引用

应用build.gradle中引入

1
compile 'cn.yc:YCVideoPlayerLib:2.4.9' 

2.2 功能

A基础功能
  • A.1.1 能够自定义视频加载loading类型,设置视频标题,设置视频底部图片,设置播放时长等基础功能
  • A.1.2 可以切换播放器的视频播放状态,播放错误,播放未开始,播放开始,播放准备中,正在播放,暂停播放,正在缓冲等等状态
  • A.1.3 可以自由设置播放器的播放模式,比如,正常播放,全屏播放,和小屏幕播放。其中全屏播放支持旋转屏幕。
  • A.1.4 可以支持多种视频播放类型,比如,原生封装视频播放器,还有基于ijkPlayer封装的播放器。
  • A.1.5 可以设置是否隐藏播放音量,播放进度,播放亮度等,可以通过拖动seekBar改变视频进度。还支持设置n秒后不操作则隐藏头部和顶部布局功能
  • A.1.6 可以设置竖屏模式下全屏模式和横屏模式下的全屏模式,方便多种使用场景
  • A.1.7 top和bottom面版消失和显示:点击视频画面会显示、隐藏操作面板;显示后不操作会5秒后自动消失【也可以设置】
B高级功能
  • B.1.1 支持一遍播放一遍缓冲的功能,其中缓冲包括两部分,第一种是播放过程中缓冲,第二种是暂停过程中缓冲
  • B.1.2 基于ijkPlayer的封装播放器,支持多种格式视频播放
  • B.1.3 可以设置是否记录播放位置,设置播放速度,设置屏幕比例
  • B.1.4 支持滑动改变音量【屏幕右边】,改变屏幕亮度【屏幕左边】,屏幕底测左右滑动调节进度
  • B.1.5 支持list页面中视频播放,滚动后暂停播放,播放可以自由设置是否记录状态。并且还支持删除视频播放位置状态。
  • B.1.6 切换横竖屏:切换全屏时,隐藏状态栏,显示自定义top(显示电量);竖屏时恢复原有状态
  • B.1.7 支持切换视频清晰度模式
  • B.1.8 添加锁屏功能,竖屏不提供锁屏按钮,横屏全屏时显示,并且锁屏时,屏蔽手势处理
C拓展功能【这块根据实际情况选择是否需要使用,一般视频付费App会有这个工鞥】
  • C1产品需求:类似优酷,爱奇艺视频播放器部分逻辑。比如如果用户没有登录也没有看视频权限,则提示试看视频[自定义布局];如果用户没有登录但是有看视频权限,则正常观看;如果用户登录,但是没有充值会员,部分需要权限视频则进入试看模式,试看结束后弹出充值会员界面;如果用户余额不足,比如余额只有99元,但是视频观看要199元,则又有其他提示。
  • C2自身需求:比如封装好了视频播放库,那么点击视频上登录按钮则跳到登录页面;点击充值会员页面也跳到充值页面。这个通过定义接口,可以让使用者通过方法调用,灵活处理点击事件。
  • C.1.1 可以设置试看模式,设置试看时长。试看结束后就提示登录或者充值……
  • C.1.2 对于设置视频的宽高,建议设置成4:3或者16:9或者常用比例,如果不是常用比例,则可能会有黑边。其中黑边的背景可以设置
  • C.1.3 可以设置播放有权限的视频时的各种文字描述,而没有把它写在封装库中,使用者自己设定
  • C.1.4 锁定屏幕功能
D待添加功能
  • D.1.1 可以支持屏幕截图功能,视频添加水印效果

  • D.1.2 支持弹幕功能

  • D.1.3 后期待定,视频拖拽

3:Android-SpinKit

加载中样式。

项目地址:https://ybq.github.io/Android-SpinKit

如果第一章的kongzue等待对话框还不足以满足个性化需求,那这个加载库应该足够了。

3.1 引用

1
2
3
dependencies {
implementation 'com.github.ybq:Android-SpinKit:1.4.0'
}

3.2 样式

样式

样式2

4:AgentWeb

基于安卓原生Webview的浏览器,自动实现视频全屏播放,加入了网页加载进度条

项目地址:https://github.com/Justson/AgentWeb

引入

Gradle

1
2
3
api 'com.just.agentweb:agentweb:4.1.2' // (必选)
api 'com.just.agentweb:filechooser:4.1.2'// (可选)
api 'com.download.library:Downloader:4.1.2'// (可选)

效果图

评论