web-dev-qa-db-fra.com

Créer et afficher la barre de progression par programme

J'ai créé une ProgressBar par programme comme ci-dessous dans mon activité. Comment puis-je le montrer?

progressBar = new ProgressBar(activity, null, Android.R.attr.progressBarStyleSmall);
9
user6304758

Vous pouvez essayer ce code pour ajouter la barre de progression par programme à votre mise en page.

RelativeLayout layout = new RelativeLayout(this);
ProgressBar progressBar = new ProgressBar(YourActivity.this,null,Android.R.attr.progressBarStyleLarge);
progressBar.setIndeterminate(true);
progressBar.setVisibility(View.VISIBLE);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(100,100);
params.addRule(RelativeLayout.CENTER_IN_PARENT);
layout.addView(progressBar,params);

setContentView(layout);
7
motis10

vous pouvez utiliser dans la mise en page:

<RelativeLayout
    Android:id="@+id/rlLoading"
    Android:layout_width="match_parent"
    Android:layout_height="match_parent"
    Android:background="#ad000000"
    Android:visibility="gone">


    <com.airbnb.lottie.LottieAnimationView
        Android:id="@+id/animation_view"
        Android:layout_width="@dimen/toolbar_height_70dp"
        Android:layout_height="@dimen/toolbar_height_70dp"
        Android:layout_centerHorizontal="true"
        Android:layout_centerInParent="true"
        Android:layout_marginTop="10dp"
        app:lottie_autoPlay="true"
        app:lottie_fileName="lottie/circle-l.json"
        app:lottie_loop="true"

        />


</RelativeLayout>

et en classe Java:

rlLoading.setVisibility(View.VISIBLE); Utility.disableEnableControls(false,rlRoot);

 public static void disableEnableControls(boolean enable, ViewGroup vg) {
    for (int i = 0; i < vg.getChildCount(); i++) {
        View child = vg.getChildAt(i);
        child.setEnabled(enable);
        if (child instanceof ViewGroup) {
            disableEnableControls(enable, (ViewGroup) child);
        }
    }
}
1
mahsa_azizy

progressBar est un widget (vue). Vous devez ajouter à viewgroup.

Vous pouvez utiliser ProgressDialog pour afficher le chargement en cours Exemple: 

ProgressDialog proDialog = ProgressDialog.show(this, "title", "message");
1
Liem Vo

Chaque activité a une vue de contenu. Ceci est la vue racine de votre activité que vous avez définie en appelant setContentView(). Chaque vue à l'écran doit être un enfant de cette vue (ou un enfant d'un enfant, etc.). Les dialogues, qui apparaissent dans une fenêtre séparée, constituent une exception, mais c'est une autre discussion.

Si vous souhaitez que la vue apparaisse à l'écran, vous devez l'ajouter à ViewGroup dans votre vue de contenu.

En réalité, la façon dont vous utilisez les barres de progression pour le chargement est différente. Normalement, vous en ajoutez un à votre fichier xml, mais vous définissez sa visibilité sur GONE pour qu’elle n’apparaisse pas. Ensuite, lorsque vous souhaitez qu'il apparaisse, définissez-le sur VISIBLE. On dirait que la barre de progression apparaît, mais qu’elle est restée cachée tout au long.

0
Gabe Sechan
ProgressBar prog = new ProgressBar(MainActivity.this);
linear1.addView(prog);

linear1 est un LinearLayout et MainActivity est votre activité . Changez linear1 et MainActivity en fonction de vos besoins.

0

D'abord, vous devez importer le paquet

import Android.app.ProgressDialog;

alors utilisez ceci,

    ProgressDialog progressDialog;

    progressDialog = new ProgressDialog(this);

    progressDialog.setMessage("MESSAGE");
    progressDialog.show();
    ........
    //tour task
    ........
    progressDialog.dismiss(); //dismiss progress bar
0
premnath

vous pouvez ajouter progressBar dans un fichier XML comme celui-ci

<ProgressBar
            Android:id="@+id/pbProgress"
            Android:style="@style/Spinner"
            Android:layout_width="wrap_content"
            Android:layout_height="wrap_content" >
        </ProgressBar>

et visible, invisible de manière pragmatique.

C’est le moyen d’ajouter une barre de progression à votre fichier xml, mais si vous souhaitez l’ajouter de façon pragmatique, vous pouvez utiliser progressBar.setVisibility (View.Visible) pour afficher la barre de progression ou vous pouvez utiliser progressBar.setVisibility (View.Gone) pour masquer barre de progression sur l'activité.

0
ss_android