progressDialogがAPI26で非推奨になったため、代替でProgressBarつきSnackbarを実装してみた
Kotlinのソースです。
snackBar = Snackbar.make(dataCenter.getImportView()!!, "", Snackbar.LENGTH_INDEFINITE)
val snackView = snackBar!!.view as Snackbar.SnackbarLayout
progressBar = ProgressBar(context, null, android.R.attr.progressBarStyleHorizontal)
snackView.addView(progressBar)
snackBar!!.show()・・・
progressBar!!.max = length
・・・progressBar.progress = i+1
・・・if (snackBar!!.isShown) {
snackBar!!.dismiss()
}
これで水平タイプのProgressBarをSnackbarに表示できます。
Javaでの実装は、こんな感じ。(スピナータイプの例)
snackbar = Snackbar.make(dataCenter.getViewSetting(), res.getString(R.string.process_in_progress), Snackbar.LENGTH_INDEFINITE);
Snackbar.SnackbarLayout snackView = (Snackbar.SnackbarLayout) snackbar.getView();
progressBar = new ProgressBar(context, null, android.R.attr.progressBarStyleSmall);
snackView.addView(progressBar);
snackbar.show();
・・・if (snackbar.isShown()) {
snackbar.dismiss();
}