Pour une barre de progression horizontale, vous devez tout d'abord définir votre barre de progression et la lier à votre fichier XML comme suit, dans le champ onCreate
:
final TextView txtview = (TextView)findViewById(R.id.tV1);
final ProgressBar pbar = (ProgressBar) findViewById(R.id.pB1);
Ensuite, vous pouvez utiliser la méthode onProgressChanged dans votre WebChromeClient :
MyView.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int progress) {
if(progress < 100 && pbar.getVisibility() == ProgressBar.GONE){
pbar.setVisibility(ProgressBar.VISIBLE);
txtview.setVisibility(View.VISIBLE);
}
pbar.setProgress(progress);
if(progress == 100) {
pbar.setVisibility(ProgressBar.GONE);
txtview.setVisibility(View.GONE);
}
}
});
Après cela, dans votre mise en page vous avez quelque chose comme ceci
<TextView android:text="Loading, . . ."
android:textAppearance="?android:attr/textAppearanceSmall"
android:id="@+id/tV1" android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:textColor="#000000"></TextView>
<ProgressBar android:id="@+id/pB1"
style="?android:attr/progressBarStyleHorizontal" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_centerVertical="true"
android:padding="2dip">
</ProgressBar>
C'est comme ça que je l'ai fait dans mon application.
1 votes
C'est une copie presque exacte de stackoverflow.com/questions/2496119/ . Jetez-y un coup d'œil pour voir si cela vous aide. Si ce n'est pas le cas, modifiez votre question en précisant ce que vous ne parvenez pas à faire fonctionner.
1 votes
Le lien vers le site des développeurs Android contient le code complet permettant de créer une barre de chargement progressive. Avez-vous essayé d'utiliser leur exemple ? Une fois que vous l'avez fait, vous devriez être en mesure de l'adapter à vos besoins.
0 votes
Comment faire la même chose dans un fragment ? Je suis les mêmes étapes mais la barre de progression n'est pas visible.