Android自定义半圆进度条 半圆渐变色进度条带指示 半圆开口大小可自由修改

首先我们来看下效果图

不同的开口大小只需要修改一个参数即可

半圆1:

半圆2:

半圆3:

如果是你想要的效果,就直接滑动到文章底部,下载源码,然后结合本文章操作说明集成到自己的项目中吧

如果集成
第一步:
下载项目解压,然后用as打开。
第二步:
复制SemicircleProgressBar这个类到自己的项目中
第三步:
在需要显示的布局中,直接使用自定义控件,如下:

 <com.ecaray.semicircleprogressbar.SemicircleProgressBarandroid:id="@+id/progressbar"android:layout_width="match_parent"android:layout_height="200dp"android:layout_centerInParent="true"android:background="@color/white" />

具体操作见下图,复制自定义控件的完整路径,然后在xml布局文件中直接引用

第四步:在对应布局的类里面,声明控件,然后给控件通过setProgress方法,设置进度即可

package com.ecaray.semicircleprogressbar;import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;/*** 类描述: 自定义半圆进度条* 创建人: 简雨山舍* 创建时间: 2018/1/8 11:58* 修改人: 简雨山舍* 修改时间: 2018/1/8 11:58*/
public class MainActivity extends AppCompatActivity {SemicircleProgressBar percentView;//自定义控件声明TextView tvProgress;//显示进度的文本Button btAdd;//加按钮Button btSubstract;//减按钮private int progress = 80;//初始进度@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);percentView = findViewById(R.id.progressbar);tvProgress = findViewById(R.id.tv_progress);percentView.setProgress(progress);//初始化进度tvProgress.setText(progress + "%");//初始化进度文本显示btAdd = findViewById(R.id.bt_add);btSubstract = findViewById(R.id.bt_subtract);btAdd.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {progress += 1;//进度每次加1if (progress > 99) {//大于99则等于100progress = 100;}percentView.setProgress(progress);//设置进度条显示进度tvProgress.setText(progress + "%");//设置文本显示进度数字}});btSubstract.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {progress -= 1;//进度每次减1if (progress < 0) {//小于0则等于0progress = 0;}percentView.setProgress(progress);//设置进度条显示进度tvProgress.setText(progress + "%");//设置文本显示进度数字}});}
}

以上,就完成了集成工作,可以跑下程序,看看效果了。

如果需要改变半圆进度条的开口大小,也非常的简单,只需要修改一个参数即可

第一步:
打开SemicircleProgressBar该类,在声明变量中找到

   /*** 两条圆弧的起始角度* 起始角度控制半圆开口的大小,数值越小开口越大,数值越大开口越小*/private double floatAngel = 50;

第二步:
修改他的数值即可

其他的想修改的效果,代码中都有备注,直接修改对应的值看效果即可。

重点内容
最后附上源码下载链接:
http://download.csdn.net/download/beibaokongming/10194333

Android自定义半圆进度条 半圆渐变色进度条带指示 半圆开口大小可自由修改相关推荐

  1. 精通Android自定义View(十二)绘制圆形进度条

    1 绘图基础简析 1 精通Android自定义View(一)View的绘制流程简述 2 精通Android自定义View(二)View绘制三部曲 3 精通Android自定义View(三)View绘制 ...

  2. html进度条圆圈渐变色,HTML5 canvas带渐变色的圆形进度条动画

    jquery-circle-progress是一款带渐变色的圆形进度条动画特效jQuery插件.该圆形进度条使用的是HTML5 canvas来绘制圆形进度条及其动画效果,进度条使用渐变色来填充,效果非 ...

  3. Android可触摸圆形进度条,Android 可滚动圆形进度条 滑块和进度在进度条上面跟着滚动...

    Android 可滚动圆形进度条 滑块和进度在进度条上面跟着滚动.package com.example.test; import android.content.Context; import an ...

  4. Android按钮滚动条,Android自定义Seekbar滑动条,Pop提示跟随滑动按钮一起滑动

    由于项目需要做出此效果,自定义写了一个. 效果图 思路: 原始的seekbar只有滑动条并没有下方的提示文字,所以我们必须要继承Seekbar重写这个控件. 代码: 在values文件夹下新建attr ...

  5. 基于腾讯 x5 开源库,提高 webView 开发效率,大概要节约你百分之六十的时间成本。该案例支持处理 js 的交互逻辑且无耦合、同时暴露进度条加载进度、可以监听异常 error 状态、支持视频播放

    YCWebView 项目地址:yangchong211/YCWebView 简介: 基于腾讯 x5 开源库,提高 webView 开发效率,大概要节约你百分之六十的时间成本.该案例支持处理 js 的交 ...

  6. Xamarin XAML语言教程使用属性设置进度条的当前进度

    Xamarin XAML语言教程使用属性设置进度条的当前进度 在图12.19~12.21中我们看到的是没有实现加载的进度条,即进度条的当前进度为0,如果开发者想要修改当前进度,可以使用两种方式:一种是 ...

  7. 转:delphi用URLDownloadToFile下载文件,用进度条跟踪下载进度

    用URLDownloadToFile下载文件,如何用进度条跟踪下载进度 1:OnDownloadProgress  2:可有否具体的例子.  3:unit Unit1; interface uses ...

  8. bootstrap 滚动 进度条_bootstrap动态进度条怎么搞

    在本教程中,您将看到如何使用 Bootstrap 创建加载.重定向或动作状态的进度条. Bootstrap 进度条使用 CSS3 过渡和动画来获得该效果.Internet Explorer 9 及之前 ...

  9. matlab 显示程序进度条,matlab学习---------------进度条waitbar

    语法: h = waitbar(x,'message') waitbar(x,'message','CreateCancelBtn','button_callback') waitbar(x,'mes ...

最新文章

  1. MySQL5.7 解决 字符编码问题 与 安装完 MySQL 无 my.ini
  2. PHP安全、Sql防注入安全汇总
  3. Struts2 简介
  4. 技校毕业是什么学历_技校毕业了是什么学历
  5. java反射jdk1.8,Java基础----jdk1.8 反射实验
  6. 如何领导团队做好技术债管理?
  7. Unity 3D 正交相机(Orthographic)
  8. 如何设置iPhone的手机铃声?【来自星星的你】
  9. 《Redis实战》一2.1 登录和cookie缓存
  10. Linux学习12—文件服务
  11. DH算法图解+数学证明
  12. C++虚函数、多继承和虚基类学习心得 内存布局
  13. el-tree 关键字搜索
  14. 成人高考计算机专业,成人高考计算机专业难吗?
  15. win10能上网显示未连接到服务器,Win10网络正常但浏览网页无法连接到互联网怎么办?...
  16. QGIS操作教程——图说中国人口
  17. WAYS TO UPDATE YOUR DEVICE
  18. 美国大学计算机专业排名2014,2014USNews美国大学研究生计算机专业排名
  19. 35美元最小电脑树莓派windows10初体验 raspberry pi 2 win10
  20. 用gitbash提交代码步骤

热门文章

  1. 全国计算机应用水平考试图像处理,全国计算机应用水平考试图像处理考试大纲(2019年版).PDF...
  2. UI基础三:简单的BOL报表开发
  3. matlab光学原理仿真应用衍射,基于Matlab的光学衍射仿真【参考】.doc
  4. Linux就这个范儿 第14章 身在江湖
  5. 截屏、录屏、截长图快捷键汇总
  6. Zemax操作35--双高斯镜头优化
  7. linux文件目录基本操作实验结论,实验 Linux文件和目录操作
  8. 生病的日子里(年轻人得注重身体啊)
  9. 错误 C4996 inet_addr: Use inet_pton() or InetPton() instead or defin
  10. 做数据挖掘工作需要具备哪些思维原理?