Android开发教程正在上传的进度弹框
往往上传视频或者大的文件,需要正在上传的进度弹框提示用户
一、思路:
自定义弹框
二、效果图:
三、关键代码:
public class MainActivity extends AppCompatActivity {
private UploadVideoDialog uploadVideoDialog;
private Context context;
private Handler mHandler;
private int progress;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
context = this;
mHandler = new Handler();
findViewById(R.id.tv_start_upload).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
uploadVideoDialog = AppDialogUtils.moodVideoUploadDialog(context);
mHandler.post(new Runnable() {
@Override
public void run() {
uploadVideoDialog.getPr_upload_value().setProgress(++progress);
if (progress<100){
mHandler.postDelayed(this,500);
} else {
runOnUiThread(new Runnable() {
@Override
public void run() {
uploadVideoDialog.getDialog().dismiss();
Toast.makeText(context,"上传完成",Toast.LENGTH_SHORT).show();
}
});
}
}
});
}
});
}
}
public class UploadVideoDialog {
private Dialog dialog;
private ProgressBar pr_upload_value;
public UploadVideoDialog(Dialog dialog, ProgressBar pr_upload_value) {
this.dialog = dialog;
this.pr_upload_value = pr_upload_value;
}
public Dialog getDialog() {
return dialog;
}
public void setDialog(Dialog dialog) {
this.dialog = dialog;
}
public ProgressBar getPr_upload_value() {
return pr_upload_value;
}
public void setPr_upload_value(ProgressBar pr_upload_value) {
this.pr_upload_value = pr_upload_value;
}
}
四、项目demo源码结构图:
有问题或者需要完整源码demo的可以看简介联系我,也可以私信我,我每天都看私信的