/ / Как да заредим изображения в ImageSwitcher от сървъра? - андроид, безопасност на нишките, imagewitcher

Как да заредим изображения в ImageSwitcher от сървъра? - андроид, безопасност на нишките, imagewitcher

Опитвам се да зареждам изображения в превключвател за изображенияот Http сървър. Не намерих никаква функция като setImageBitmap. Така че аз се опитах да използвам setImageURI (), но не се зарежда. Аз съм tring да превключите изображението на всеки 3 сек. Това е кодът. Когато пускам кодовете, изображението не се зарежда. А приложението също се смазва.

 String arr[]={"http://192.168.1.7/photos/dummy/1.jpg","http://192.168.1.7/photos/dummy/2.jpg","http://192.168.1.7/photos/dummy/3.jpg"}


dailyWear = (ImageSwitcher) getActivity().findViewById(R.id.imageDailyWear);
dailyWear.setFactory(new ViewSwitcher.ViewFactory() {
@Override
public View makeView() {
ImageView myView = new ImageView(getActivity());
myView.setScaleType(ImageView.ScaleType.FIT_XY);
myView.setLayoutParams(new ImageSwitcher.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT));
return myView;
}
});
dailyWear.setInAnimation(AnimationUtils.loadAnimation(getActivity(), android.R.anim.slide_in_left));
dailyWear.setOutAnimation(AnimationUtils.loadAnimation(getActivity(), android.R.anim.slide_out_right));

final Handler handler = new Handler();
final Runnable r = new Runnable() {

int i=0;
public void run() {
weddingWear.setImageURI(Uri.parse(arr[i));

i++;
if (i >= arr.length()-1)
i = 0;

handler.postDelayed(this, 3000);
}
};

handler.postDelayed(r, 1000);

Отговори:

0 за отговор № 1

това, което можете да направите, е първо да вземете тези изображения и да ги съхраните в архиелист от растерното изображение, с което можете да превключвате тези изображения

private Context mContext;
private int index = 0;
private final int interval = 3000;
private final int DURATION=1500;


public void animate_Images_In_Top_View_After_Every_Three_Seconds(
ImageSwitcher imageSwitcher, final ArrayList<Bitmap> _Images_List) {

android.view.animation.Animation aniIn = AnimationUtils.loadAnimation(mContext,
android.R.anim.fade_in);
aniIn.setDuration(DURATION);
android.view.animation.Animation aniOut = AnimationUtils.loadAnimation(mContext,
android.R.anim.fade_out);
aniOut.setDuration(DURATION);

final ImageSwitcher _ImageSwitcher = imageSwitcher;
_ImageSwitcher.setInAnimation(aniIn);
_ImageSwitcher.setOutAnimation(aniOut);
_ImageSwitcher.setFactory((android.widget.ViewSwitcher.ViewFactory) mContext);
_ImageSwitcher.setImageDrawable(new BitmapDrawable(_Images_List.get(index)));
final Handler handler = new Handler();
Runnable runnable = new Runnable() {

@Override
public void run() {

index++;
index = index % _Images_List.size();
//      Log.d("Intro Screen", "Change Image " + index);
_ImageSwitcher.setImageDrawable(new BitmapDrawable(_Images_List.get(index)));
handler.postDelayed(this, interval);

}
};
handler.postDelayed(runnable, interval);
}

и аз използвам избледняване и анимация, която можете да настроите според вашите нужди.