#java #android-studio #textview #progress-bar #android-progressbar
Вопрос:
введите описание изображения здесь
Я хочу добавить индикатор выполнения, подобный этому образцу, с размером в МБ и оставшейся полосой размера после просмотра PDF-файла в режиме AsyncTask, который кто-нибудь знает, пожалуйста, ответьте на этот вопрос.
XML
<com.github.barteksc.pdfviewer.PDFView
android:id="@ id/pdf"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<androidx.core.widget.ContentLoadingProgressBar
android:id="@ id/progressBar"
style="@android:style/Widget.ProgressBar.Horizontal"
android:layout_width="280dp"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"/>
<androidx.appcompat.widget.AppCompatTextView
android:id="@ id/textView_info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Progress"
android:textSize="25dp"
android:textColor="@color/white"
android:layout_marginTop="350dp"
android:layout_centerHorizontal="true" />
Ява
class RetrievePDFStream extends AsyncTask<String, Integer, InputStream> {
@Override
protected void onPreExecute() {
contentLoadingProgressBar.show();
}
@Override
protected InputStream doInBackground(String... strings) {
InputStream inputStream = null;
try {
URL url = new URL(strings[0]);
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
if (urlConnection.getResponseCode() == 200) {
inputStream = new BufferedInputStream(urlConnection.getInputStream());
}
} catch (IOException e) {
return null;
}
return inputStream;
}
@Override
protected void onPostExecute(InputStream inputStream) {
pdfView.fromStream(inputStream)
.load();
contentLoadingProgressBar.hide();
}
}