it-swarm.com.de

Fortschrittsbalken programmgesteuert erstellen und anzeigen

Ich habe eine ProgressBar programmgesteuert wie unten in meiner Aktivität erstellt. Wie mache ich es zeigen?

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

Mit diesem Code können Sie einen Fortschrittsbalken programmgesteuert zu Ihrem Layout hinzufügen.

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

sie können im Layout verwenden:

<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>

und in Java-Klasse:

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 ist ein Widget (Ansicht). Sie müssen zur Viewgroup hinzufügen.

Sie können ProgressDialog verwenden, um den Fortschritt des Ladevorgangs anzuzeigen .__ Beispiel: 

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

Jede Aktivität hat eine Inhaltsansicht. Dies ist die Stammansicht Ihrer Aktivität, die Sie durch Aufruf von setContentView() festlegen. Jede Ansicht auf dem Bildschirm muss ein Kind dieser Ansicht sein (oder ein Kind eines Kindes usw.). Die Ausnahme sind Dialoge, die in einem separaten Fenster erscheinen, aber das ist eine andere Diskussion.

Wenn die Ansicht auf dem Bildschirm angezeigt werden soll, müssen Sie sie einer ViewGroup in Ihrer Inhaltsansicht hinzufügen.

Normalerweise verwenden Sie Fortschrittsbalken zum Laden normalerweise. Normalerweise fügen Sie Ihrer XML-Datei eine hinzu, setzen jedoch die Sichtbarkeit auf GONE, damit sie nicht angezeigt wird. Wenn es dann angezeigt werden soll, setzen Sie es auf VISIBLE. Es sieht also so aus, als würde die Fortschrittsleiste erscheinen, aber sie ist wirklich die ganze Zeit über verborgen.

0
Gabe Sechan

Mein Weg ist, es in einen AlertDialog zu packen, den Dialog aufzurufen und show (), hide () und einige verwandte Funktionen zu verwenden, wenn Sie es brauchen. Sie müssen die ProgressBar also nicht in Ihrer XML-Hauptlayoutdatei festlegen und können sie aufrufen, ohne die Layoutparameter programmgesteuert festzulegen.

In der Layoutdatei layout_pb.xml

<LinearLayout
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:orientation="vertical"
    Android:gravity="center">
    <ProgressBar
        Android:id="@+id/mProgress"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content" >
    </ProgressBar>
    <!--add other customize layout components you want-->
</LinearLayout>

In Java Code

AlertDialog progressDialog = new AlertDialog.Builder(this)
                                 .setView(R.layout.layout_pb)
                                 .setPositiveButton("CANCEL", cancel listener ...)
                                 ...
                                 .show();
0
gevge
ProgressBar prog = new ProgressBar(MainActivity.this);
linear1.addView(prog);

linear1 ist ein lineares Layout und MainActivity ist Ihre Aktivität. Ändern Sie linear1 und MainActivity entsprechend Ihren Anforderungen.

Zuerst müssen Sie das Paket importieren

import Android.app.ProgressDialog;

dann verwenden Sie diese,

    ProgressDialog progressDialog;

    progressDialog = new ProgressDialog(this);

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

sie können progressBar in dieser XML-Datei hinzufügen

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

und sichtbar, unsichtbar es pragmatisch.

Dies ist der Weg zum Fortschrittsbalken in Ihrer XML-Datei Wenn Sie jedoch pragmatisch hinzufügen möchten, können Sie progressBar.setVisibility (View.Visible) verwenden, um den Fortschrittsbalken anzuzeigen, oder ProgressBar.setVisibility (View.Gone) zum Ausblenden Fortschrittsbalken bei Aktivität.

0
ss_android