本篇文章已授权微信公众号guolin_blog(郭霖)独家发布

最近在学习android的高级view的绘制,再结合值动画的数据上的改变,自己撸了个360手机助手的下载按钮。先看下原版的360手机助手的下载按钮是长啥样子吧:

再来看看自己demo吧,你们尽情的吐槽吧,哈哈:

里面的细节问题还会不断地更改的,gif的动态图是有些快的,这是因为简书要求gif的大小了,这个也冒得办法啊 。所以想看真是效果的筒子们,可以去看demo哈。

细心的朋友可能发现loading状态下左边几个运动圆的最高点和最低点都越界了,这是因为在规定正弦函数的最高点时没考虑圆的半径的长度,因此近两天做了点修改了,效果图如下:

属性也没怎么整理,就抽取出了一些比较常用的几个了:

属性名 类型 描述
status_text_size dimension 状态以及显示百分比的字体大小
status_text_color color 状态的颜色
load_point_color color load状态下移动的点的颜色
bg_color color 整个背景的颜色
progress_color color 进度的颜色
collect_speed integer 背景收缩的时间
collect_rotate_speed integer 背景收缩后中间的load转一圈需要的时间
expand_speed integer 收缩后背景展开的时间
right_loading_speed integer loading状态下右边的loading每一次转动时增加的角度
left_loading_speed integer 左边运动的几个点走一次需要的时间
cancel_back_icon reference 取消按钮用到的背景图
stop_back_icon reference 暂停按钮用到的背景图
continue_back_icon reference 继续按钮用到的背景图

代码使用:

项目中直接使用的view:

<com.library.downloading.Down360ViewGroup
        android:id="@+id/down_loading_viewgroup"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_gravity="bottom"app:bg_color="#33CCFF"app:cancel_back_icon="@mipmap/close"app:continue_back_icon="@mipmap/play"app:left_loading_speed="2500"app:right_loading_speed="8"app:status_text_color="#cccccc"app:stop_back_icon="@mipmap/stop" />

效果图如下:

供调用的方法有如下:取消下载:
setCancel();设置进度:
setProgress(int progress);设置状态(status:Down360Loading.Status.Normal直接可以取消的操作):
setStatus(Status status);设置暂停或继续:
setStop(stop:true表示暂停;stop:false表示继续);接口监听:
public interface OnProgressStateChangeListener {void onSuccess();//暂停void onStop();//取消void onCancel();//继续void onContinue();
}

gradle依赖:

allprojects {repositories {...maven { url 'https://jitpack.io' }}
}dependencies {...compile 'com.github.1002326270xc:360Downloading-master:v1.3.1'...
}

好了介绍就到这里了,如果觉得行的话,进入github的传送门点个star吧,谢谢!!!

如果发现有什么问题,请联系我,我会第一时间给出反馈!!!

大家可以加技术讨论群: 184793647

关于我:

email: a1002326270@163.com
github:enter

仿360手机助手下载按钮相关推荐

  1. 360手机助手游戏怎么实名认证 360手机助手下载的游戏怎么关了悬浮窗

    360手机助手除了我们日常的传输文件,分享资源之外,上面还是有海量的游戏资源供我们下载的,而且平台还提供360币可以进行充值,不过很多小伙伴在下载游戏之后不知道在哪实名认证,哪里可以改实名认证?下面一 ...

  2. [qt] 高仿360手机助手[含源码]

    [qt] 高仿360手机助手 实现功能如下: 1. 高仿真界面 2. 获取当前手机屏幕,以及可以截图 3. 获取手机短信/通讯录/应用信息/系统应用信息/视频/音乐. demo版地址: http:// ...

  3. android像360一样跳转到系统菜单,Android开源库-仿360手机助手底部动画菜单布局

    效果对比:360手机助手效果演示:本库实现的效果(Icon来自360手机助手,侵删) 使用方法: xml布局文件 注:为了美观,讲每个Button的高度以及固定,设置wrap_content时候是最大 ...

  4. Android项目之仿360手机助手项目

    主页使用了actionbar + drawlayout 结构 设计模式使用了 BaseAdapter + BaseHolder + Protocol + BaseFragment Protocol 读 ...

  5. android悬浮控件-仿360手机助手应用详情页

    最近很少写博客了,今天是2016年的第一天.最近工作中用到了这个悬浮控件.悬浮控件的实现方式有好几种,在这里使用android的事件分发机制来实现的,以及自定义控件的一些常规操作. github地址: ...

  6. 360手机助手如何精简安卓手机系统

    安卓(Android)系统的迅速大众化为我们的生活带来了诸多便利的同时也让我们多了一些担忧,安全问题,骚扰问题,众多不必要的预装应用等等,那么如何利用360手机助手精简单我们的安卓手机系统呢?下面就来 ...

  7. 360助手 android版,360手机助手

    360手机助手是奇虎360官方出品的免费手机管理应用,360手机助手是安卓手机用户的防电话骚扰.防垃圾短信的安全管理工具,360手机助手更可以帮您实时监控手机状态.网络速度.流量套餐等使用情况.360 ...

  8. 揭秘360手机助手未经用户同意,自动开启辅助功能的“黑科技”

    转载自:https://www.freebuf.com/articles/terminal/121253.html 0×00 概述 Android为正常使用手机有障碍的用户提供了辅助功能,即Acces ...

  9. Android 指纹扫描动画实现,仿新版360手机助手欢迎页

    转载请标明出处:http://blog.csdn.net/edisonchang/article/details/49914553 最近看到360手机助手改版了,自己也装了一个,整体的体验还是比较不错 ...

最新文章

  1. Linux性能挖潜的隐藏招数:内核CPU亲和性参数调整
  2. Spring中继承配置的注入方法
  3. 学生出勤率平时成绩java_《javaweb应用开发》课程标准.doc
  4. CH - 0501 货仓选址(中位数)
  5. 第04篇 JDK版本导致Unsupported major.minor version 52.0 error
  6. rabbitmq怎样确认是否已经消费了消息_阿里Java研发二面:了解RabbitMQ?说说RabbitMQ可靠性投递...
  7. 12000+字Java反射,一起全面了解Java反射机制,为学习框架铺路
  8. nccloud开发环境搭建_VS Code 搭建开发环境
  9. 云服务器svn怎么用,腾讯云服务器搭建SVN
  10. java hibernate注解_Hibernate注解方法使用总结
  11. sap导入中文数据乱码
  12. 股票历史数据下载梳理汇总(一)
  13. SQK Server提示:安装程序无法与下载服务器联系。请提供 Microsoft R Open 和 Microsoft R Server
  14. java的泛型方法_Java中的泛型方法
  15. visa支付—Springboot
  16. 小米官网首页简单实现及分析
  17. Matlab save colormap
  18. 分发自动化_使用bitrise自动化应用分发
  19. nginx配置介绍(二)
  20. 网络安全关于Windows下BAT脚本使用

热门文章

  1. virtio 1.2 来了!龙蜥社区携手业界打造新版虚拟化 IO 标准
  2. 第三十九讲:神州无线AC基础管理配置
  3. vue js 多个对象拼接(变量名key拼接 + 值value拼接)
  4. 网站发布网(发布号) 海量热点新闻小偷程序 V1.2
  5. 小灰灰的APP学习之路(一)--开发工具安装
  6. 采集网www.caiji.hk 威客任务采集
  7. matlab相机标定程序,MATLAB单相机校准程序中文.pdf
  8. 有了这三款软件,你家的智能电视和电视盒子就够用了
  9. Django中DateField与DateTimeField的特殊参数auto_add_now和auto_now
  10. Python:REfO 库的使用