300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > Android自定义半圆进度条 半圆渐变色进度条带指示 半圆开口大小可自由修改

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

时间:2018-09-09 00:12:31

相关推荐

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

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;/*** 类描述: 自定义半圆进度条* 创建人: 简雨山舍* 创建时间: /1/8 11:58* 修改人: 简雨山舍* 修改时间: /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;

第二步:

修改他的数值即可

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

重点内容

最后附上源码下载链接:

/download/beibaokongming/10194333

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。