2017-01-16 1 views
-2

J'utilise une boîte de dialogue personnalisée dans mon application. Par conséquent, j'ai créé une classe de boîte de dialogue personnalisée dans laquelle j'ai appelé une présentation XML qui contient une vue d'image.Android Custom Dailog

Voici mon code de classe CustomDialog ...

enter image description here

public class CustomDialog extends DialogFragment { 

     public static CustomDialog newInstance() { 
      return new CustomDialog(); 
     } 


     @Override 
     public View onCreateView(LayoutInflater inflater, ViewGroup container, 
           Bundle savedInstanceState) { 
      View v = inflater.inflate(R.layout.dialog, container, false); 
      Glide.with(this).load(R.drawable.loader1).placeholder(R.drawable.loader1) 
            .into((ImageView) v.findViewById(R.id.progress)); //loader1 is a gif file 
      getDialog().getWindow().requestFeature(Window.FEATURE_NO_TITLE); 
      getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); 

      if (getDialog() == null) 
      super.setShowsDialog (false); 
      return v; 
      } 

      } 

Et voici mon code de fichier 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="#00FFFFFF" 
    android:orientation="vertical"> 

    <ImageView       //image view containing the loader gif 
     android:id="@+id/progress" 
     android:layout_width="40dp" 
     android:background="#00FFFFFF" 
     android:layout_height="40dp" /> 

</LinearLayout> 

Je mets mon gif dans tous les dossiers drawable mais toujours le chargeur GIF devient flou tout en tournant dans l'un des de la taille du vice se hdpi, MPDI, etc .. me suggérer la solution pour que le chargeur ne devient floue

+0

vous ne pouvez pas charger l'image gif avec exemple de glissement –

+0

quel est le problème exact: afficher la boîte de dialogue personnalisée ou l'affichage chargeur? –

+0

Essayez ceci http://stackoverflow.com/a/34870817/2750390 –

Répondre

0

Vous pouvez changer votre code Glide à ce pour tester

Glide.with(context).load(R.drawable.loading).asGif().diskCacheStrategy(DiskCacheStrategy.SOURCE).crossFade().into(loadingImageView); 

ou en utilisant cette bibliothèque https://github.com/koral--/android-gif-drawable à charge gifs

EDIT: Si vous utilisez ci-dessus bibliothèque, changer android:background="@drawable/bg_anim de xml à android:background="@android:color/transparent"

EDIT2: Selon le propriétaire de Glide, la version 3.8.0-SNAPSHOT ou ultérieure résoudra la fonction transparente. Utilisez ceci:

compile 'com.github.bumptech.glide:glide:3.8.0-SNAPSHOT' 
+0

cela montre aussi le gif avec fond blanc. Je veux qu'il soit transparent – neha

+0

J'ai utilisé cette ligne de code Glide.with (contexte) .load (R.drawable.loading) .asGif(). DiskCacheStrategy (DiskCacheStrategy.SOURCE). crossFade(). dans (loadingImageView); – neha

+0

@neha manuel 'loadingImageView' xml définir l'arrière-plan à transparent comme ci-dessus – TruongHieu