1.效果展示

2.導入依賴
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
implementation 'com.github.ppg408331701:SemicircleProgress:v0.5.0'
3.相關說明
3.1. SemicircleProgress
配置參數 |
參數含義 |
semicircleSize |
半弧形的半徑大小,默認100dp |
semicirclebackgroundLineColor |
半弧形的背景線顏色,默認灰色 |
semicirclefrontLineColor |
半弧形的前景線顏色,默認橘黃色 |
semicirclelineSize |
半弧形的線寬度,默認3dp |
semicirclesubtitleColor |
副標題字體顏色 |
semicirclesubtitleSize |
副標題字體大小 |
semicirclesubtitleText |
副標題文本 |
semicircletitleColor |
標題字體顏色 |
semicircletitleSize |
標題字體大小 |
semicircletitleText |
標題文本 |
3.2. CircularProgressar
配置參數 |
參數含義 |
circularLeftText |
左邊文本 |
circularLeftTextColor |
左邊字體顏色 |
circularLeftTextSize |
左邊字體大小 |
circularRightText |
右邊文本 |
circularRightTextColor |
右邊字體顏色 |
circularRightTextSize |
右邊字體大小 |
circularSize |
圓的大小 |
circularbackgroundLineColor |
圓形的背景線顏色 |
circularfrontLineColor |
圓形的前景線顏色 |
circularcentreBitmap |
中間的顏色 |
circularlineSize |
線的寬度 |
circularshowBitmap |
是否顯示中間的圖片 |
4. 布局文件xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<simple.ppg.com.ppgsemicircle.Views.SemicircleProgressView
android:id="@+id/semicircleProgressView"
android:layout_width="match_parent"
android:layout_height="150dp"
app:semicircleSize="140dp"
app:semicirclebackgroundLineColor="@color/colorPrimary"
app:semicirclefrontLineColor="@color/colorAccent"
app:semicirclelineSize="3dp"
app:semicirclesubtitleColor="@color/colorPrimary"
app:semicirclesubtitleSize="15sp"
app:semicirclesubtitleText="integral"
app:semicircletitleColor="@color/colorAccent"
app:semicircletitleSize="20sp"
app:semicircletitleText="積分" />
<simple.ppg.com.ppgsemicircle.Views.CircularProgressar
android:id="@+id/sesame_view"
android:layout_width="270dp"
android:layout_height="150dp"
android:layout_gravity="center"
android:layout_marginTop="10dp"
app:circularLeftText="50%"
app:circularLeftTextColor="@color/colorPrimary"
app:circularLeftTextSize="14sp"
app:circularRightText="50/100"
app:circularRightTextColor="@color/colorPrimary"
app:circularRightTextSize="14sp"
app:circularSize="120dp"
app:circularbackgroundLineColor="@color/colorPrimary"
app:circularcentreBitmap="@mipmap/icon_1"
app:circularfrontLineColor="@color/colorAccent"
app:circularlineSize="3dp"
app:circularshowBitmap="true" />
</LinearLayout>
5. 后台Java代碼
public class MainActivity extends AppCompatActivity {
private SemicircleProgressView semicircleProgressView;
private CircularProgressar sesame_view;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
initdate();
}
private void initdate() {
semicircleProgressView = (SemicircleProgressView) findViewById(R.id.semicircleProgressView);
semicircleProgressView.setSesameValues(10, 50);
sesame_view = (CircularProgressar) findViewById(R.id.sesame_view);
sesame_view.setSesameValues(50, 100);//設定進度
sesame_view.setDuration(5000);//設定波浪從最小到最大的時間
sesame_view.setStyle(Paint.Style.FILL);//設置畫筆風格
sesame_view.setColor(ContextCompat.getColor(this, R.color.colorAccent));//設置波浪顏色
sesame_view.setInterpolator(new LinearOutSlowInInterpolator());//設置插值器
sesame_view.start();//開始
// sesame_view.stop();//緩慢停止
// sesame_view.stopImmediately();//立刻停止
}
private void initView() {
semicircleProgressView = (SemicircleProgressView) findViewById(R.id.semicircleProgressView);
sesame_view = (CircularProgressar) findViewById(R.id.sesame_view);
}
}