progressblock 安卓自定义进度条 progressbar 高仿仿QQ下载进度条
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>
QQ35068264
网站http://qssq666.cn
http://github.com/qssq
progressblock 安卓自定义进度条 progressbar 高仿仿QQ下载进度条相关推荐
- 仿手机QQ网络状态条的显示与消失,没网络时显示,有网络时自动消失 ,点击网络条设置网络
关注finddreams,一起分享,一起进步: http://blog.csdn.net/finddreams/article/details/44647843 我们都知道手机QQ上有这样一个功能,就 ...
- linux ftp显示进度条,在Python中显示FTP下载进度(ProgressBar)
我使用以下Python脚本通过FTP下载文件.我想要的是在下载时查看进度的详细信息.为此,我使用了ProgressBar但它没有显示任何内容. 这是我的代码: import re import os ...
- 炫酷进度条:Android 仿应用宝下载进度条
2016-09-29 FlowLeaf 鸿洋 鸿洋 鸿洋 微信号 hongyangAndroid 功能介绍 你好,欢迎关注鸿洋的公众号,每天为您推送高质量文章,让你每天都能涨知识.点击历史消息,查看所 ...
- android 仿手机助手下载进度条效果
今天准备写一个关于类似一般手机助手下载的效果,先看效果就知道了, 实现这个效果要用到Paint类的一个很重要的方法就是setShader(),再加入动画了,使用的是属性动画,现在就动手开始写吧,今天没 ...
- Xamarin XAML语言教程构建进度条ProgressBar
Xamarin XAML语言教程构建进度条ProgressBar Xamarin XAML语言教程构建进度条ProgressBar,ProgressBar被称为进度条,它类似于没有滑块的滑块控件.进度 ...
- Android自定义View之实现简单炫酷的球体进度球
前言 最近一直在研究自定义view,正好项目中有一个根据下载进度来实现球体进度的需求,所以自己写了个进度球,代码非常简单.先看下效果: 效果还是非常不错的. 准备知识 要实现上面的效果我们只要掌握两个 ...
- android仿微信图片上传进度,Android开发之模仿微信打开网页的进度条效果(高仿)...
一,为什么说是真正的高仿? 阐述这个问题前,先说下之前网上的,各位可以复制这段字,去百度一下 "仿微信打开网页的进度条效果",你会看到有很多类似的文章,不过他们有个共同点,就是实 ...
- Android 各种自定义进度条Progressbar
Android 自定义进度条 Progressbar 控件集合 关于我,欢迎关注 博客:ccapton(http://blog.csdn.net/ccapton) 微信:Ccapton Github ...
- android仿微信 进度条,Android开发之模仿微信打开网页的进度条效果(高仿)
一,为什么说是真正的高仿? 阐述这个问题前,先说下之前网上的,各位可以复制这段字,去百度一下 "仿微信打开网页的进度条效果" ,你会看到有很多类似的文章,不过他们有个共同点,就是 ...
最新文章
- 【java】兴唐第二十三节课作业
- vue中一个组件导入另一个组件
- java 8 parallelStream()
- 线性系统理论知识点总结_线性系统理论(七)推广与总结
- CF1100F Ivan and Burgers
- JS 获取浏览器、显示器 窗体等宽度和高度
- a b和c 15 java_1011. A+B和C (15)
- 交叉编译openssl不修改Makefile的方法
- 自定义列_如何对Pandas DataFrame进行自定义排序
- vant:修改van-nav-bar__title颜色——vant中nav-bar组件标题颜色
- 读《深入浅出设计模式》
- David Pozar 微波工程读书笔记(二)
- pyecharts在jupyter notebook中使用报错
- 如何将Excel保存为TXT格式文件
- 微信小程序搜索排名规则,教你怎么让排名靠前
- 动态规划_数字的划分
- 博思特POSITAL编码器OCD58-CA1212-B15V-H3P
- Codeforces 1146G Zoning Restrictions dp
- libxml2主要函数说明
- python:Excel