Мне нужно загрузить некоторые изображения и видео на устройство, и мне нравится отслеживать прогресс, имея круговой ProgressBar в определенном режиме в оверлее.Как иметь циркуляр ProgressBar и в определенном режиме?
Проблема в том, что несмотря ни на что, ProgressBar все еще неопределенен.
Есть ли способ иметь его круглым и в детерминированном режиме?
Layout
<ProgressBar
android:layout_width="40dp"
android:layout_height="40dp"
android:progressTint="@color/colorPrimary"
android:indeterminate="false"
android:max="100"
android:layout_gravity="center"
android:id="@+id/message_media_preview_progress"
android:visibility="gone"
/>
Код
final ProgressBar progressBar = (ProgressBar) mView.findViewById(R.id.message_media_preview_progress);
progressBar.setVisibility(View.VISIBLE);
progressBar.setProgress(0);
storageController.downloadMedia(context, message.getVideoFile(),
new ProgressListener<Integer>() {
@Override
public void onResult(Integer result) {
progressBar.setProgress(result);
}
},
new ResultListener<Boolean>() {
@Override
public void onResult(Boolean result) {
if(result) {
progressBar.setVisibility(View.GONE);
setMediaClickListener(message);
}else{
Toast.makeText(context,"Error downloading file",Toast.LENGTH_SHORT).show();
}
}
});
К сожалению, это не возможно с фондовой Android ProgressBar. Посмотрите на внешние библиотеки: https://github.com/dinuscxj/CircleProgressBar –
Хорошо, спасибо, спасибо. Если вы поместите комментарий в ответ, я помечаю его как принятый. –
Написал ответ. –