Circular Progress Button 项目使用教程
1. 项目的目录结构及介绍
Circular Progress Button 项目的目录结构如下:
circular-progress-button/
├── library/
│ ├── build.gradle
│ ├── proguard-rules.pro
│ └── src/
│ ├── main/
│ │ ├── AndroidManifest.xml
│ │ ├── java/
│ │ │ └── com/
│ │ │ └── dmytrodanylyk/
│ │ │ └── circularprogressbutton/
│ │ │ ├── CircularProgressButton.java
│ │ │ └── ...
│ │ └── res/
│ │ ├── drawable/
│ │ ├── layout/
│ │ ├── values/
│ │ └── ...
│ └── test/
│ └── ...
├── sample/
│ ├── build.gradle
│ ├── proguard-rules.pro
│ └── src/
│ ├── main/
│ │ ├── AndroidManifest.xml
│ │ ├── java/
│ │ │ └── com/
│ │ │ └── dmytrodanylyk/
│ │ │ └── sample/
│ │ │ ├── MainActivity.java
│ │ │ └── ...
│ │ └── res/
│ │ ├── drawable/
│ │ ├── layout/
│ │ ├── values/
│ │ └── ...
│ └── test/
│ └── ...
├── build.gradle
├── gradle.properties
├── settings.gradle
└── ...
目录结构介绍
-
library/
:包含 Circular Progress Button 库的核心代码。build.gradle
:库模块的构建脚本。src/main/
:库的主要源代码。AndroidManifest.xml
:库的清单文件。java/
:Java 源代码目录。res/
:资源文件目录。
src/test/
:测试代码目录。
-
sample/
:示例应用程序,展示如何使用 Circular Progress Button 库。build.gradle
:示例应用的构建脚本。src/main/
:示例应用的主要源代码。AndroidManifest.xml
:示例应用的清单文件。java/
:Java 源代码目录。res/
:资源文件目录。
src/test/
:测试代码目录。
-
根目录下的文件:
build.gradle
:项目的根构建脚本。gradle.properties
:Gradle 配置属性。settings.gradle
:项目设置文件。
2. 项目的启动文件介绍
示例应用的启动文件
示例应用的启动文件是 sample/src/main/java/com/dmytrodanylyk/sample/MainActivity.java
。这个文件是示例应用的主活动,展示了如何使用 Circular Progress Button 库。
package com.dmytrodanylyk.sample;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import com.dmytrodanylyk.circularprogressbutton.CircularProgressButton;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final CircularProgressButton circularButton1 = findViewById(R.id.circularButton1);
circularButton1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (circularButton1.getState() == CircularProgressButton.IDLE_STATE_PROGRESS) {
simulateSuccessProgress(circularButton1);
} else {
circularButton1.resetProgress();
}
}
});
}
private void simulateSuccessProgress(final CircularProgressButton button) {
button.setProgress(50);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
button.set