仿360手机助手下载按钮

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

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

360下载按钮效果图.gif

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

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

完善后的效果图.gif

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

修改loading状态下的运动点最高点和最低点.gif

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

属性名类型描述
status_text_sizedimension状态以及显示百分比的字体大小
status_text_colorcolor状态的颜色
load_point_colorcolorload状态下移动的点的颜色
bg_colorcolor整个背景的颜色
progress_colorcolor进度的颜色
collect_speedinteger背景收缩的时间
collect_rotate_speedinteger背景收缩后中间的load转一圈需要的时间
expand_speedinteger收缩后背景展开的时间
right_loading_speedintegerloading状态下右边的loading每一次转动时增加的角度
left_loading_speedinteger左边运动的几个点走一次需要的时间
cancel_back_iconreference取消按钮用到的背景图
stop_back_iconreference暂停按钮用到的背景图
continue_back_iconreference继续按钮用到的背景图

代码使用:

项目中直接使用的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" />

效果图如下:

final_simple_gif.gif



供调用的方法有如下:

取消下载:
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

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
项目名称:[精仿]360手机助手-14.2.6更新(CSkin Demo) 界面库版本号:14.2.6 最新版本 下载内容: 精仿360手机助手源码一份, 可引用至工具箱最新版CSkin.dll一份 实现功能: 1.发光标题。 2.直角边框和阴影。 3.360手机助手主界面模仿。 4.多系统支持,不需要win8系统,即可实现win8风格的360手机助手。 5.自定义控件的美化使用。 界面库更新文档: CC2014-2.6 1.修复拖动好友出现的负值BUG和拖动后有机率会消失的问题。 2.好友列表DoubleClickSubItem事件添加回调参数MouseEventArgs,用于判断鼠标操作的一些参数,如:左键双击还是右键双击判断。 3.对SkinDataGridView属性进行部分重构,颜色美化属性增加。 4.窗体加入绘制模式边框颜色属性BorderColor和InnerBorderColor 5.解决SkinTabControl left和right绘制模式下tab标签悬浮样式不变化问题。 6.所有控件采用最高质量模式绘制文字,防止字体模糊以及锯齿。 CC2013-12.8 1.优化SkinTabControl的效率,不再呢么闪烁,360DEMO直接替换DLL,改部分属性小错误,就可以看到明显闪烁减少效果。 2.为SkinStrip分类的控件添加 是否统一变换字体颜色的属性。 3.为SkinAnimatorImg动画图片框控件添加Stretch属性,是否拉伸模式绘制动画。 4.修复SkinComboBox无法DataSource绑定项的BUG。 5.增加音乐播放器,萝莉人物窗体,等DEMO。 6.修复部分细节bug。 提示:窗体继承SkinMain,再设置下SkinBack,有你想不到的惊喜哦,此窗体是用于绘制异形窗体专用,你给他什么图片,窗体就会按照图片来绘制。有一个缺点就是,有透明像素的背景区域,控件不给于显示。 CC2013-10.30 1.由于SkinForm名字太多人使用,界面库命名正式改为CSkin.dll,官网www.cskin.net。 2.SkinTabControl标签中添加菜单箭头,可点击展开菜单。 3.SkinTabControl添加标签关闭按钮。 4.修复部分中文乱码问题。 5.优化好友列表右键菜单。 6.将窗体自定义系统按钮改为集合模式,可添加无数个自定义系统按钮。自定义系统按钮事件中可以 e.参数 来判断。 7.增加360安全卫士-DEMO案例。 8.增加SkinAnimatorImg控件,用于支持位图动画的播放。如360的动态logo。 9.各种细节BUG优化。 CC2013-10.11 1.添加SkinTabControlEx,加入更加自定义的美化属性和动画效果。 2.添加SkinAnimator,通用动画控件。 3.添加Html编辑器控件 4.修复SkinButton图标和文本相对位置的BUG CC2013-9.26 1.优化好友列表CPU占用 2.好友列表加入好友登录平台属性:安卓 苹果 WEBQQ PC 3.优化标题绘制模式,新添标题绘制模式属性。 4.新添标题偏移度属性。 5.加入圆形进度条控件:ProgressIndicator。 CC2013-9.5.2 1.优化截图控件,截图工具栏加入新功能。 2.解决个人信息卡和天气窗体显示后不会消失的问题。 3.各种细节BUG优化。 CC2013-9.5.1 1.解决贴边左右隐藏的BUG。 2.解决窗体点击事件不能触发的问题。 3.优化SkinButton继承父容器背景色的代码。 4.解决SkinButton异常错误。 CC2013-9.3 1.好友列表右键菜单没反应问题。 2.新增美化控件SkinDatagridview。 3.密码软件盘回删不了文字问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值