我有一个图像视图填满我的整个屏幕,我从url下载图像到我的SD卡,我使用AnimationDrawable在imageview中将这些图像显示为幻灯片。但是,不过我尝试我的图像会失去它们的宽高比,图像会显得拉长。我已经为我的imageview尝试了所有scaletype,但没有用。这是我的代码:
AnimationDrawable animation = new AnimationDrawable();
File cacheDir = AlRimal.getDataFolder(Main_Load.this);
File cacheFile = new File(cacheDir, "file_1.jpg");
Drawable d = Drawable.createFromPath(cacheFile.getPath());
Bitmap bitmap = BitmapFactory.decodeFile(cacheFile.getPath());
animation.addFrame(d, 5000);
animation.addFrame(d, 5000);
animation.addFrame(d, 5000);
animation.setOneShot(false);
animation.setExitFadeDuration(500);
animation.setEnterFadeDuration(500);
animationImg.setScaleType(ScaleType.FIT_CENTER);//All possibilities have been tried
animationImg.setBackgroundDrawable(animation);
animation.start();
我的图像重新分配为:2048 * 1536
答案 0 :(得分:5)
ScaleType
未设置,因为ImageView
中的图片被设置为背景。当我将其更改为源时,它就有效了。
答案 1 :(得分:3)
而不是
animationImg.setBackgroundDrawable(animation);
尝试使用
animationImg.setImageDrawable(animation);