it-swarm.com.de

Android-Aktivitätsanzeige

Wie kann ich eine Aktivitätsanzeige in Android anzeigen? Gibt es eine Android Library-Methode? Wenn nein, lassen Sie mich wissen, mit welchen Techniken der Aktivitätsindikator in Android angezeigt wird.

47
Sanal MS

mach so etwas 

ProgressDialog mDialog = new ProgressDialog(getApplicationContext());
            mDialog.setMessage("Please wait...");
            mDialog.setCancelable(false);
            mDialog.show();
55
ingsaurabh

Das direkteste Äquivalent des iOS-Aktivitätsanzeigers in Android ist die Fortschrittsleiste, die jedoch auf Unbestimmtheit eingestellt ist. So können Sie die Ansicht in Ihr Layout ziehen und erhalten eine sich drehende Animation.

<ProgressBar
    Android:layout_height="wrap_content"
    Android:layout_width="wrap_content"
    Android:id="@+id/ctrlActivityIndicator"
    Android:indeterminateOnly="true"
    Android:keepScreenOn="true"
     />

Sie können dies verwenden, um dem Benutzer einige Hintergrundaktivitäten anzuzeigen.

86

Es gibt zwei weitere Möglichkeiten, den Aktivitätsindikator anzuzeigen, ohne den modalen ProgressDialog zu verwenden.

Sie können ImageView in Ihrem Layout verwenden und eine Animation darauf anwenden. Website des Entwicklers befragen .

public void startAnimation() {
  // Create an animation
  RotateAnimation rotation = new RotateAnimation(
      0f,
      360f,
      Animation.RELATIVE_TO_SELF,
      0.5f,
      Animation.RELATIVE_TO_SELF,
      0.5f);
  rotation.setDuration(1200);
  rotation.setInterpolator(new LinearInterpolator());
  rotation.setRepeatMode(Animation.RESTART);
  rotation.setRepeatCount(Animation.INFINITE);

  // and apply it to your imageview
  findViewById(R.id.myActivityIndicator).startAnimation(rotation);
}

Oder Sie können xml-drawable verwenden, um ein Hintergrundbild zu beschreiben, das einige rotierende Animationen enthält:

Beschreiben Sie zunächst ein Zeichen (in /res/drawable/my-indicator.xml).

<animated-rotate xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:drawable="@drawable/spinner_black_76"
    Android:pivotX="50%"
    Android:pivotY="50%"
    Android:framesCount="12"
    Android:frameDuration="100" />

Stellen Sie es dann auf den Hintergrund einiger Ansichten ein

19
Olegas
public class Mp3cutterActivity extends Activity {

    MP3Class mp3obj = null;
    TextView tv;
    MP3Class mp3classobj = null;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Context thiscontext = this.getApplicationContext();
        mp3classobj = new MP3Class(thiscontext);
        setContentView(R.layout.main);

        Button btn = (Button)findViewById(R.id.startbutton);
        tv = (TextView)findViewById(R.id.textview1);
        btn.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                //show a wait indicator as well as the function that calls walkSdcard

                try {
                    new SearchSdCard(Mp3cutterActivity.this).execute();
                    // copyProtector.doCopyProtection();
                } catch (Exception e) {
                    System.out.println("in search SD card  " + e.getMessage());
                }
            }

            private void domp3stuff() {
                // TODO Auto-generated method stub
            }
        });
    }
}

class SearchSdCard extends AsyncTask<String, Void, Boolean> {

    Context context;    

    public ProgressDialog dialog;

    public SearchSdCard(Activity activity) {
        this.context = activity;
    }

    protected void onPreExecute() {
        dialog = new ProgressDialog(context);
        dialog.setMessage("wait for a moment...");
        dialog.show();
    }

    @Override
    protected Boolean doInBackground(String... params) {
        // TODO Auto-generated method stub
        boolean retval = true;
        mp3classobj.searchSdCard();
        return retval;
    }

    @Override
    protected void onPostExecute(Boolean result) {
        // TODO Auto-generated method stub
        if (dialog.isShowing()) {
            dialog.dismiss();
            tv.setText("mp3 cutter is an app which cuts down a chunk of memory \nfrom your sdcard by \ndeleting the .mp3 files and more \nyou were made a BAKRA :-)");
            if(!result){    
                tv.setText("error occured !!");
            }
        }
    }
    //refer below comment for the MP3class.Java file details
}
4
sudatt

Aktivitätsanzeige ist nichts, aber es wird als Fortschrittsdialog bezeichnet. Sie können Programmierbarkeit erstellen. Es gibt eine Anzahl von Lernprogrammen. Suchen Sie nach Fortschrittsdialogfeld/Fortschrittsleiste

ProgressDialog progressDialog = new ProgressDialog(MainActivity.this);
                progressDialog.setMax(100);
                progressDialog.setMessage("Its loading....");
                progressDialog.setTitle("ProgressDialog bar example");
progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
or
progressDialog.setProgressStyle(ProgressDialog.STYLE_CIRCULAR);

oder Sie können es mit xml erstellen, die Sichtbarkeit einstellen sichtbar sobald die Aufgabe abgeschlossen ist, gesetzt Sichtbarkeit ist vorbei

<ProgressBar
                Android:id="@+id/loading_spinner"
                Android:layout_width="wrap_content"
                Android:layout_height="wrap_content"
                Android:layout_marginTop="100dp"
                Android:indeterminateTintMode="src_atop"
                Android:indeterminateTint="@color/grey"
                Android:layout_gravity="center" />