progressbar.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto">
<!--大的环形进度条-->
<ProgressBar
android:id="@+id/one"
style="?android:progressBarStyleLarge"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<!--中的环形进度条-->
<ProgressBar
android:id="@+id/two"
app:layout_constraintTop_toBottomOf="@+id/one"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<!--小的环形进度条-->
<ProgressBar
android:id="@+id/three"
style="?android:progressBarStyleSmall"
app:layout_constraintTop_toBottomOf="@+id/two"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<!--
android:max="100" 最大显示
android:progress="50" 进度显示
android:secondaryProgress="70" 第二显示进度
android:indeterminate="true" 是否精确显示
-->
<!--条形进度条-->
<ProgressBar
android:id="@+id/four"
android:max="100"
android:progress="50"
android:secondaryProgress="70"
android:indeterminate="false"
style="?android:progressBarStyleHorizontal"
app:layout_constraintTop_toBottomOf="@+id/three"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<!--显示条形进度条的信息-->
<TextView
android:id="@+id/progress_textview"
app:layout_constraintTop_toBottomOf="@+id/four"
android:layout_margin="10dp"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<!--增加btn-->
<Button
android:id="@+id/progress_btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="增加"
app:layout_constraintTop_toBottomOf="@id/progress_textview"/>
<!--减少btn-->
<Button
android:id="@+id/progress_btn2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="减少"
app:layout_constraintLeft_toRightOf="@+id/progress_btn1"
app:layout_constraintTop_toBottomOf="@id/progress_textview"/>
<!--重置btn-->
<Button
android:id="@+id/progress_btn3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="重置"
app:layout_constraintLeft_toRightOf="@+id/progress_btn2"
app:layout_constraintTop_toBottomOf="@id/progress_textview"/>
<!--重置btn-->
<Button
android:id="@+id/progress_prodialog"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="弹出"
app:layout_constraintLeft_toRightOf="@+id/progress_btn3"
app:layout_constraintTop_toBottomOf="@id/progress_textview"/>
</android.support.constraint.ConstraintLayout>
progressbar.java
package com.example.administrator.listview;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.view.Window;
import android.widget.Button;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.Toast;
/**
* Created by Administrator on 2018/3/10 0010.
*/
public class progressbar extends AppCompatActivity implements View.OnClickListener{
private ProgressBar progressbar;
private Button add;
private Button reduce;
private Button reset;
private Button prodialogbtn;
private ProgressDialog prodialog;
private TextView textView;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//启用窗口特征,启用带进度条和不带进度条
requestWindowFeature(Window.FEATURE_PROGRESS);
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
setContentView(R.layout.progressbar);
// 显示两种进度条
setProgressBarVisibility(true);
setProgressBarIndeterminateVisibility(true);
//max=10000
setProgress(600);
init();
}
private void init() {
progressbar=findViewById(R.id.four);
add=findViewById(R.id.progress_btn1);
reduce=findViewById(R.id.progress_btn2);
reset=findViewById(R.id.progress_btn3);
prodialogbtn=findViewById(R.id.progress_prodialog);
textView=findViewById(R.id.progress_textview);
// getprogress()
settext();
add.setOnClickListener(this);
reduce.setOnClickListener(this);
reset.setOnClickListener(this);
prodialogbtn.setOnClickListener(this);
}
private void settext(){
int first=progressbar.getProgress();
//获取第二进度
int max=progressbar.getMax();
int second=progressbar.getSecondaryProgress();
textView.setText("第一进度:"+(int)(first/(float)max*100)+"第二进度:"+(int)(second/(float)max*100)+"%");
}
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.progress_btn1:{
progressbar.incrementProgressBy(10);
progressbar.incrementSecondaryProgressBy(10);
settext();
}break;
case R.id.progress_btn2:{
progressbar.incrementProgressBy(-10);
progressbar.incrementSecondaryProgressBy(-10);
settext();
}break;
case R.id.progress_btn3:{
progressbar.setProgress(50);
progressbar.setSecondaryProgress(70);
settext();
}break;
//显示prodialog按钮
case R.id.progress_prodialog:{
prodialog=new ProgressDialog(this);
//设置风格
prodialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
//设置标题
prodialog.setTitle("安徽师范大学");
//设置对话框中的文字信息
prodialog.setMessage("欢迎大家来到安徽师范大学");
prodialog.setIcon(R.mipmap.ic_launcher);
/*
* 设置progressBar的属性
* */
prodialog.setMax(100);
//设置已经显示的进度
prodialog.incrementProgressBy(50);
//进度条是明确显示进度的
prodialog.setIndeterminate(false);
/*
* 设定一个确定按钮
* */
prodialog.setButton(DialogInterface.BUTTON_POSITIVE, "确认", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(progressbar.this,"欢迎大家来到安徽",Toast.LENGTH_SHORT).show();
}
});
//是否可以通过返回按钮退出prodialog
prodialog.setCancelable(true);
//重要 显示出来
prodialog.show();
}break;
}
}
}