Affichage progressifalogue sans texte Android

Android 2.3.3

J'ai un dialogue progressif qui montre, Chargement … en tant que texte. Voici le code du progressdialog.

  • GCM avec système de connexion
  • Relier à Service dans onCreate () ou dans onResume ()
  • Comment configurer l'élévation d'un AppBarLayout par programme dans la bibliothèque de support Android v24.0.0?
  • RemoteViewsFactory appelé getViewAt lorsque l'ensemble de données vide
  • Comment puis-je commander ma base de données SQLITE par ordre décroissant, pour une application Android?
  • Gradle Robolectric Resources NotFoundException dans Testing
  • progressDialog = new ProgressDialog(mContext); progressDialog.setIndeterminate(true); progressDialog.setMessage("Loading..."); progressDialog.show(); 

    Si je supprime la ligne progressDialog.setMessage("Loading..."); , Je reçois un dialogue progressif de gauche et une case vide à droite qui occupe la largeur du parent.

    Je souhaite afficher uniquement le dialogue progressif, aligné au centre. Veuillez vous reporter aux images ci-dessous.

    C'est ce que j'ai …

    Entrez la description de l'image ici

    C'est ce que je veux…

    Entrez la description de l'image ici

    Quelqu'un peut il m'aider avec ça?

  • Drawable à l'octet
  • Désactiver / Activer les données mobiles sur Android L avec accès racine
  • Libcurl Certificate Pinning fonctionne sur iPhone mais pas sur Android
  • Comment obtenir l'emplacement actuel de mon appareil
  • Développement d'applications pour iPhone et Android
  • Listview avec un adaptateur personnalisé contenant CheckBoxes
  • 12 Solutions collect form web for “Affichage progressifalogue sans texte Android”

    Essayez ceci 1. Créez une méthode comme celle-ci:

      public static ProgressDialog createProgressDialog(Context mContext) { ProgressDialog dialog = new ProgressDialog(mContext); try { dialog.show(); } catch (BadTokenException e) { } dialog.setCancelable(false); dialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT)); dialog.setContentView(R.layout.progressdialog); // dialog.setMessage(Message); return dialog; } 

    // Xml Layout:

      <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:background="@android:color/transparent" > <ProgressBar android:id="@+id/progressBar1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" /> </RelativeLayout> 

    Et appelez cette méthode où vous voulez:

      if (progressDialog == null) { progressDialog = Utils.createProgressDialog(Login.this); progressDialog.show(); } else { progressDialog.show(); } 

    Si vous obtenez l' erreur : " requestFeature() must be called before adding content ", la solution consiste à appeler progressDialog.show() AVANT d'appeler progressDialog.setContentView(R.layout.progressdialog) .

    Vous pouvez ajouter un style ci-dessous dans votre style.xml

     <style name="progress_bar_style"> <item name="android:windowFrame">@null</item> <item name="android:windowBackground">@android:color/transparent</item> <item name="android:windowIsFloating">true</item> <item name="android:windowContentOverlay">@null</item> <item name="android:windowTitleStyle">@null</item> <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item> <item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item> <item name="android:backgroundDimEnabled">false</item> <item name="android:background">@android:color/transparent</item> </style> 

    Où vous ajoutez n'importe quelle couleur dans le fichier color.xml.

    Vous pouvez utiliser:

     Progress progress = new ProgressDialog(getActivity(), android.support.v4.app.DialogFragment.STYLE_NO_TITLE); 

    Si nécessaire, ajouter aux dépendances de Gradle

     compile 'com.android.support:support-v4:22.2.0' 

    Travailler et regarder sur le design du matériau avec une couleur d'accent (si vous les avez)

    Essayé de le faire fonctionner à la fois sur la version 5.0+ et inférieure de l'API. Et la solution est de le faire avec une boîte de dialogue au lieu d'une progression.

    Dans le dossier de mise en page créer un fichier aux_progress_spinner.xml

     <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@android:color/transparent" android:gravity="center" android:orientation="vertical" > <ProgressBar android:id="@+id/progressBar1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:background="@android:color/transparent" /> </LinearLayout> 

    Créez une fonction quelque part … disons Utils.class

      public static Dialog LoadingSpinner(Context mContext){ Dialog pd = new Dialog(mContext, android.R.style.Theme_Black); View view = LayoutInflater.from(mContext).inflate(R.layout.aux_progress_spinner, null); pd.requestWindowFeature(Window.FEATURE_NO_TITLE); pd.getWindow().setBackgroundDrawableResource(R.color.transparent); pd.setContentView(view); return pd; } 

    Dans votre fragment / appel d'activité:

      private Dialog progress_spinner; progress_spinner = Utils.LoadingSpinner(mContext); //------ Where you want it ------ progress_spinner.show(); //------- Dismiss it -------- progress_spinner.dismiss(); 

    Facultatif: ajoutez un CountDownTimer simple pour tester comment il semble

      new CountDownTimer(1000,1000){ @Override public void onTick(long millisUntilFinished) { } @Override public void onFinish() { progress.dismiss(); } }.start(); 

    Utilisez ProgressBar au lieu de ProgressDialog. http://developer.android.com/reference/android/widget/ProgressBar.html

    vous pouvez utiliser :

    progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);

    Et si vous ne voulez aucun titre, vous pouvez:

     progressDialog.setTitle(null); 

    La réponse de MuraliGanesan est correcte, mais j'utilise juste Dialog, pas ProgressDialog pour éviter l'exception "requestFeature () doit être appelée avant l'ajout de contenu"

    Vous pouvez le faire en créant simplement une classe qui étend la classe Dialog:

    Disons que j'ai créé ci-dessous la classe:

     public class TransparentProgressDialog extends Dialog { public ImageView iv; public TransparentProgressDialog(Context context, int resourceIdOfImage) { super(context, R.style.TransparentProgressDialog); WindowManager.LayoutParams wlmp = getWindow().getAttributes(); wlmp.gravity = Gravity.CENTER_HORIZONTAL; getWindow().setAttributes(wlmp); setTitle(null); setCancelable(false); setOnCancelListener(null); LinearLayout layout = new LinearLayout(context); layout.setOrientation(LinearLayout.VERTICAL); LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); iv = new ImageView(context); iv.setImageResource(resourceIdOfImage); layout.addView(iv, params); addContentView(layout, params); } @Override public void show() { super.show(); RotateAnimation anim = new RotateAnimation(0.0f, 360.0f , Animation.RELATIVE_TO_SELF, .5f, Animation.RELATIVE_TO_SELF, .5f); anim.setInterpolator(new LinearInterpolator()); anim.setRepeatCount(Animation.INFINITE); anim.setDuration(3000); iv.setAnimation(anim); iv.startAnimation(anim); } } 

    Mettez TransparentProgressDialog dans style.xml:

    @null @android: couleur / transparent true @null @null @android: style / Animation.Dialog stateUnspecified | adjustPan true @android: couleur / transparent

    Maintenant, vous pouvez mettre toute image de progression qui circulera:

     TransparentProgressDialog pDialog = new TransparentProgressDialog(mContext, R.drawable.progress); pDialog.show(); 

    C'est tout.

    Cela fonctionne pour moi dans MonoDroid:

     progressDialog.SetMessage((string)null); 

    Essayez ceci dans java:

     progressDialog.setMessage(null); 

    ProgressDialog.show (this, null, "", true);

    Basé sur la réponse MuraliGanesan, j'ai créé une sous-classe de ProgressDialog.

     public class LoadingDialog extends ProgressDialog { public LoadingDialog(Context context) { super(context); } @Override public void show() { super.show(); setCancelable(false); getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); setContentView(R.layout.custom_progress_dialog); } } 

    Aussi, vous devez créer le custom_progress_dialog.xml en res / layout

     <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@android:color/transparent" android:layout_gravity="center"> <ProgressBar android:id="@+id/progressBar1" style="?android:attr/progressBarStyleLarge" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" /> </RelativeLayout> 

    Et vous l'utilisez aussi facilement que ceci:

     LoadingDialog dialog = new LoadingDialog(this); dialog.show(); : : dialog.dismiss(); 
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.