cercle de chargement android (spinner) entre deux activités

j'ai une activité principale qui a des boutons simples et des écouteurs associés à eux. Chaque bouton ouvre une nouvelle activité (intention). Toutefois, lors de l'ouverture de l'activité, il faut un certain temps pour charger ce qui provoque un gel de L'assurance-chômage. Je veux éviter cela en ajoutant simplement un cercle de chargement (spinner) entre les deux. J'ai cherché beaucoup de messages, mais je n'ai rien trouvé.

Par le cercle de chargement que je veux dire

image

8
demandé sur Suragch 2016-01-29 10:32:28

3 réponses

C'est un Progress Bar. Vous pouvez le créer par programmation ou en utilisant le widget en XML.

Pour mettre en XML:

<ProgressBar
    android:id="@+id/progress_loader"
    style="?android:attr/progressBarStyle"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:visibility="visible" />

à implémenter en Java (en utilisant un Progress Dialog comme vous l'avez demandé dans les commentaires, mais vous pouvez aussi le faire avec l' Progress Bar):

 ProgressDialog nDialog;
 nDialog = new ProgressDialog(Login.this);
 nDialog.setMessage("Loading..");
 nDialog.setTitle("Get Data");
 nDialog.setIndeterminate(false);
 nDialog.setCancelable(true);
 nDialog.show();

avant d'atteindre une prochaine activité, vous devriez dismiss() la Barre de Progression.

  nDialog.dismiss();
13
répondu Parama Sudha 2017-06-17 13:45:40

il suffit d'utiliser le code ci-dessous dans la deuxième activité

<ProgressBar
    android:id="@+id/progress_loader"
    style="?android:attr/progressBarStyle"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:visibility="visible" />

faire de la visibilité disparu lorsque vous avez terminé l'initialisation

1
répondu Suhaib Roomy 2016-01-29 07:37:11

vous ne pouvez pas éviter le gel de L'interface utilisateur en ajoutant un widget de chargement. Vous aurez à trouver le code qui bloque votre thread principal et le déplacer vers un thread de travail. Regardez "classes d'aide pour l'enfilage" dans le documentation Android. Sans montrer votre code existant (donc nous savons ce qui bloque), nous ne pouvons pas vous conseiller davantage.

deuxièmement, si vous voulez afficher un widget de chargement entre les transactions de vue, vous pouvez restructurer votre application pour utiliser fragments. Une activité peut être utilisée pour basculer entre vos fragments, et elle peut aussi contenir le widget qui peut être rendu visible avant de changer les fragments et invisible une fois terminée.

0
répondu Charlie 2018-08-15 14:28:35