Comment puis-je afficher l'image de chargement gif dans mon espace réservé Picasso?
je veux utiliser gif dans cette partie du code
imageView = (ImageView) rootView.findViewById(R.id.imageView);
Picasso.with(getActivity()).load("http://joehamirbalabadan.com/Android/android/imghome/index1.png").placeholder(R.drawable.indexloading).into(imageView);
imageView3 = (ImageView) rootView.findViewById(R.id.imageView3);
Picasso.with(getActivity()).load("http://joehamirbalabadan.com/Android/android/imghome/index3.png").placeholder(R.drawable.indexloading).into(imageView3);
s'il vous plaît vérifier et améliorer mon code ..
HomeFragment.Java
package com.example.administrator.mosbeau;
import Android.app.Activity;
import Android.app.Fragment;
import Android.app.FragmentManager;
import Android.graphics.Bitmap;
import Android.graphics.drawable.BitmapDrawable;
import Android.os.Bundle;
import Android.support.annotation.Nullable;
import Android.view.LayoutInflater;
import Android.view.View;
import Android.view.ViewGroup;
import Android.widget.ImageView;
import Android.widget.ProgressBar;
import com.squareup.picasso.Picasso;
/**
* Created by Administrator on 9/7/2015.
*/
public class HomeFragment extends Fragment {
public static HomeFragment newInstance() {
HomeFragment fragment = new HomeFragment();
return fragment;
}
public HomeFragment () {
}
Boolean InternetAvailable = false;
Seocnd detectconnection;
ImageView imageView, imageView3;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.homelayout, container, false);
detectconnection = new Seocnd(getActivity());
InternetAvailable = detectconnection.InternetConnecting();
if (InternetAvailable) {
imageView = (ImageView) rootView.findViewById(R.id.imageView);
Picasso.with(getActivity()).load("http://joehamirbalabadan.com/Android/android/imghome/index1.png").placeholder(R.drawable.indexloading).into(imageView);
imageView3 = (ImageView) rootView.findViewById(R.id.imageView3);
Picasso.with(getActivity()).load("http://joehamirbalabadan.com/Android/android/imghome/index3.png").placeholder(R.drawable.indexloading).into(imageView3);
} else {
NointernetFragment fragment = new NointernetFragment();
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction()
.replace(R.id.container, fragment)
.commit();
}
return rootView;
}
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
((MainActivity) activity).onSectionAttached(1);
}
}
homelayout.xml
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:orientation="horizontal"
Android:fillViewport="false"
Android:background="#fffff1f1">
<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="match_parent" Android:layout_height="match_parent"
Android:background="#fffff1f1"
Android:padding="10dp">
<ImageView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:id="@+id/imageView"
Android:src="@drawable/index1"
Android:layout_alignParentEnd="false"
Android:layout_alignParentStart="false"
Android:layout_alignParentTop="false"
Android:layout_alignParentLeft="false"
Android:layout_alignParentRight="false"
Android:layout_alignWithParentIfMissing="false"
Android:adjustViewBounds="true"
Android:layout_marginBottom="10dp"
Android:layout_centerHorizontal="true"
Android:background="#ffffffff" />
<ImageView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:id="@+id/imageView2"
Android:src="@drawable/index2"
Android:layout_below="@+id/imageView"
Android:adjustViewBounds="true"
Android:layout_marginBottom="10dp" />
<ImageView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:id="@+id/imageView3"
Android:src="@drawable/index3"
Android:layout_below="@+id/imageView2"
Android:layout_alignParentBottom="true"
Android:adjustViewBounds="true"
Android:background="#ffffffff"
Android:layout_centerHorizontal="true" />
</RelativeLayout>
</ScrollView>
D'après ce que je sais, Android ne dispose pas d'un support intégré pour le format GIF. Donc, ImageView ne prend pas en charge le format GIF par défaut.
Je vous suggérerais d'utiliser Glide library pour le chargement d'images et la mise en cache, car elles fournissent un support pour GIF. Glide est similaire à Picasso et est parfois considéré comme meilleur que Picasso. Les méthodes utilisées sont également similaires à Picasso, à la différence qu’il dispose d’une méthode asGif () qui permet de charger une image dans ImageView au format GIF.
Glide.with(context)
.load(imageUrl)
.asGif()
.placeholder(R.drawable.loading_gif)
.into(imageView);
Si vous souhaitez vraiment utiliser Picasso lui-même, vous devrez peut-être regarder dans/ stackoverflow post
picasso est destiné aux vues, vous pouvez afficher votre fichier GIF dans une vue Web, mais vous ne pouvez pas utiliser cette vue dans picaso à coup sûr.
Je le fais avec Glide, vous mettez l'URL avec l'extension gif et ça marche
Glide.with(getApplicationContext()).load("http://URL/estado2.gif").into(imageView);
Je ne suis pas sûr de Picasso. Mais la bibliothèque ION a un support GIF intégré. https://github.com/koush/ion