progressblock 安卓自定义进度条 progressbar 高仿仿QQ下载进度条

附上我在公司做下载播放项目

主要使用方法

   progressBlock = (ProgressBlock) findViewById(R.id.progressblock);progressBlock.setMaxProgress(count);//最大值可以超过100的,进度只要传递对了进行,会进行换算的case R.id.btn_switch_orientation:progressBlock.setDirection(progressBlock.getDirection()==LinearLayout.HORIZONTAL?LinearLayout.VERTICAL:LinearLayout.HORIZONTAL);break;case R.id.btn_switch_reverse://反转就是 比如方向是垂直方向那么是从上到下,反正开启则是从下到上,而是水平方向反转为真则是从右到左progressBlock.setReverse(!progressBlock.isReverse());break;case R.id.btn_switch_text_color://设置百分比字体颜色progressBlock.setProgressTextColor(v.getTag()==null?Color.GREEN:Color.RED);v.setTag(v.getTag()==null?"":null);break;case R.id.btn_switch_text_orientation:TextView tv= progressBlock.getProgressTextView();tv.setGravity(tv.getGravity()==Gravity.CENTER?Gravity.TOP:(tv.getGravity()==Gravity.TOP?Gravity.BOTTOM:Gravity.CENTER));break;case R.id.btn_switch_block_color://设置进度块颜色,要半透明哦 所以这里是rgba的填写if(blockflag==0){progressBlock.setProgressBlockColor(Color.parseColor("#50ff0000"));blockflag=1;}else if(blockflag==1){progressBlock.setProgressBlockColor(Color.parseColor("#5000ff00"));blockflag=2;}else {blockflag=0;progressBlock.setProgressBlockColor(Color.parseColor("#500000ff"));}break;case R.id.btn_switch_text_size://设置进度文本百分比的文本字体大小tv= progressBlock.getProgressTextView();if(block_text_size==0){tv.setTextSize(10);block_text_size=1;}else if(block_text_size==1){tv.setTextSize(30);block_text_size=2;}else {block_text_size=0;tv.setTextSize(50);}

本进度块就是通过就是设置margin实现的不依赖任何第三方库,超级简单实用。

  public void setProgress(int progress){if(getDirection()==LinearLayout.HORIZONTAL){int margin= (int) ((mWidth/(float)mMaxProgress)*progress);Log.i(TAG,"marginLeft:"+margin+","+mWidth+"progress:"+progress+",maxProgess:"+mMaxProgress);LayoutParams layoutParams = new LayoutParams(LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);if(isReverse()){layoutParams.rightMargin=margin;//从右到左边}else{layoutParams.leftMargin=margin;//从左边到右边 }mViewProgress.setLayoutParams(layoutParams);if(mtextView.getVisibility()==View.VISIBLE){int  baifenbi= (int)((progress/(float)mMaxProgress)*100);mtextView.setText((baifenbi)+"%");}}else if(getDirection()==LinearLayout.VERTICAL){int margin= (int) ((mHeight/(float)mMaxProgress)*progress);Log.i(TAG,"marginLeft:"+margin+","+mHeight+"progress:"+progress+",maxProgess:"+mMaxProgress);LayoutParams layoutParams = new LayoutParams(LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);if(isReverse()){layoutParams.bottomMargin=margin;//从下到上}else{layoutParams.topMargin =margin;//从上到下 }mViewProgress.setLayoutParams(layoutParams);if(mtextView.getVisibility()==View.VISIBLE){int  baifenbi= (int)((progress/(float)mMaxProgress)*100);mtextView.setText((baifenbi)+"%");}}}
需要用的的就是一个简单的公式了。
//传递的值int margin= (int) ((mWidth/(float)mMaxProgress)*progress);
//转换成百分比int  baifenbi= (int)((progress/(float)mMaxProgress)*100);

联系我共同交流共同进步,图片在下面啦,比较大会截图的可以教教我怎么弄gif,又不影响质量 又速度快哈.

github下载地址
https://github.com/qssq/Progress-block-Progress-Bar-qq
as可以直接用:
compile ‘space.qssq:progressblock:0.1’

 <RelativeLayoutandroid:layout_width="300dp"android:layout_height="300dp"android:background="#0f0"android:gravity="center"><ImageViewandroid:layout_width="match_parent"android:layout_height="match_parent"android:scaleType="centerCrop"android:src="@drawable/img_girl"/><space.qssq.progressblock.ProgressBlockandroid:id="@+id/progressblock"android:layout_width="match_parent"android:layout_height="match_parent"></space.qssq.progressblock.ProgressBlock></RelativeLayout>
  1. QQ35068264

  2. 网站http://qssq666.cn

  3. http://github.com/qssq

progressblock 安卓自定义进度条 progressbar 高仿仿QQ下载进度条相关推荐

  1. 仿手机QQ网络状态条的显示与消失,没网络时显示,有网络时自动消失 ,点击网络条设置网络

    关注finddreams,一起分享,一起进步: http://blog.csdn.net/finddreams/article/details/44647843 我们都知道手机QQ上有这样一个功能,就 ...

  2. linux ftp显示进度条,在Python中显示FTP下载进度(ProgressBar)

    我使用以下Python脚本通过FTP下载文件.我想要的是在下载时查看进度的详细信息.为此,我使用了ProgressBar但它没有显示任何内容. 这是我的代码: import re import os ...

  3. 炫酷进度条:Android 仿应用宝下载进度条

    2016-09-29 FlowLeaf 鸿洋 鸿洋 鸿洋 微信号 hongyangAndroid 功能介绍 你好,欢迎关注鸿洋的公众号,每天为您推送高质量文章,让你每天都能涨知识.点击历史消息,查看所 ...

  4. android 仿手机助手下载进度条效果

    今天准备写一个关于类似一般手机助手下载的效果,先看效果就知道了, 实现这个效果要用到Paint类的一个很重要的方法就是setShader(),再加入动画了,使用的是属性动画,现在就动手开始写吧,今天没 ...

  5. Xamarin XAML语言教程构建进度条ProgressBar

    Xamarin XAML语言教程构建进度条ProgressBar Xamarin XAML语言教程构建进度条ProgressBar,ProgressBar被称为进度条,它类似于没有滑块的滑块控件.进度 ...

  6. Android自定义View之实现简单炫酷的球体进度球

    前言 最近一直在研究自定义view,正好项目中有一个根据下载进度来实现球体进度的需求,所以自己写了个进度球,代码非常简单.先看下效果: 效果还是非常不错的. 准备知识 要实现上面的效果我们只要掌握两个 ...

  7. android仿微信图片上传进度,Android开发之模仿微信打开网页的进度条效果(高仿)...

    一,为什么说是真正的高仿? 阐述这个问题前,先说下之前网上的,各位可以复制这段字,去百度一下  "仿微信打开网页的进度条效果",你会看到有很多类似的文章,不过他们有个共同点,就是实 ...

  8. Android 各种自定义进度条Progressbar

    Android 自定义进度条 Progressbar 控件集合 关于我,欢迎关注 博客:ccapton(http://blog.csdn.net/ccapton) 微信:Ccapton Github ...

  9. android仿微信 进度条,Android开发之模仿微信打开网页的进度条效果(高仿)

    一,为什么说是真正的高仿? 阐述这个问题前,先说下之前网上的,各位可以复制这段字,去百度一下  "仿微信打开网页的进度条效果" ,你会看到有很多类似的文章,不过他们有个共同点,就是 ...

最新文章

  1. 【java】兴唐第二十三节课作业
  2. vue中一个组件导入另一个组件
  3. java 8 parallelStream()
  4. 线性系统理论知识点总结_线性系统理论(七)推广与总结
  5. CF1100F Ivan and Burgers
  6. JS 获取浏览器、显示器 窗体等宽度和高度
  7. a b和c 15 java_1011. A+B和C (15)
  8. 交叉编译openssl不修改Makefile的方法
  9. 自定义列_如何对Pandas DataFrame进行自定义排序
  10. vant:修改van-nav-bar__title颜色——vant中nav-bar组件标题颜色
  11. 读《深入浅出设计模式》
  12. David Pozar 微波工程读书笔记(二)
  13. pyecharts在jupyter notebook中使用报错
  14. 如何将Excel保存为TXT格式文件
  15. 微信小程序搜索排名规则,教你怎么让排名靠前
  16. 动态规划_数字的划分
  17. 博思特POSITAL编码器OCD58-CA1212-B15V-H3P
  18. Codeforces 1146G Zoning Restrictions dp
  19. libxml2主要函数说明
  20. python:Excel

热门文章

  1. 使用安卓手机的NFC功能进行数据读取操作
  2. 计算机及Linux简介
  3. 1900-2100公历年以查表方式取农历二十四节气(VBA)
  4. 高德地图行业领头,企业网盘为其发展保驾护航
  5. #HTML5网页中的文本与图像
  6. mysql各种索引名称_MySQL索引类型大汇总
  7. 三国志战略版:Daniel_S4_PK1前五队主力推荐
  8. Android N 多窗口的应用——画中画
  9. Debian安装nodejs
  10. PS自动导出切图并在Unity中自动搭建UGUI