Comment puis-je afficher un indicateur d'activité dans Android? Existe-t-il une méthode de bibliothèque Android donnée? Si non, s'il vous plaît laissez-moi savoir les techniques utilisées pour afficher l'indicateur d'activité dans Android?.
faire quelque chose comme ça
ProgressDialog mDialog = new ProgressDialog(getApplicationContext());
mDialog.setMessage("Please wait...");
mDialog.setCancelable(false);
mDialog.show();
L'équivalent le plus direct de l'indicateur d'activité iOS dans Android est la barre de progression, mais définie sur indéterminée. Ainsi, vous pouvez déposer la vue dans votre mise en page et cela vous fournira une animation en rotation.
<ProgressBar
Android:layout_height="wrap_content"
Android:layout_width="wrap_content"
Android:id="@+id/ctrlActivityIndicator"
Android:indeterminateOnly="true"
Android:keepScreenOn="true"
/>
Vous pouvez l'utiliser pour indiquer une activité d'arrière-plan à l'utilisateur.
Il existe deux autres moyens d'afficher un indicateur d'activité sans utiliser ProgressDialog modal.
Vous pouvez utiliser ImageView dans votre mise en page et y appliquer une animation. Référez-vous au site du développeur .
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);
}
Ou vous pouvez utiliser xml-drawable pour décrire une image d’arrière-plan, qui comportera une animation en rotation:
Tout d’abord, décrivez un dessinable (dans /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" />
Puis placez-le à l'arrière-plan d'une vue
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
}
L'indicateur d'activité n'est rien mais il est connu comme un dialogue de progression. Vous pouvez créer une programmabilité. Un certain nombre de tutoriels sont disponibles. Recherchez comment créer une boîte de dialogue de progression/ProgressBar.
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);
ou vous pouvez le créer en utilisant XML, définir la visibilité visible une fois que la tâche est terminée définir visibilité disparue
<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" />