[英]Android scale drawable without quality leak
我有一張1280x800
的圖片,並使用
animationView.setScaleType(ScaleType.FIT_XY);
屏幕上的ImageView尺寸為256x160
當我將動畫應用於此視圖時,實際上
final AnimatorSet set = new AnimatorSet();
set.
play(ObjectAnimator.ofFloat(animationView, View.SCALE_X, 1f, xScale)).
with(ObjectAnimator.ofFloat(animationView, View.SCALE_Y, 1f, yScale)).
with(ObjectAnimator.ofFloat(animationView, View.TRANSLATION_X, currentLocation.x, screenSize.x / 2 - imageWidth / 2)).
with(ObjectAnimator.ofFloat(animationView, View.TRANSLATION_Y, currentLocation.y - actionBarHeight, screenSize.y / 2 - imageHeight / 2)).
with(ObjectAnimator.ofFloat(actionBarView, View.TRANSLATION_Y, 0, -actionBarHeight));
set.setDuration(500);
set.setInterpolator(new DecelerateInterpolator());
set.start();
xScale和yScale等於兩個值的〜7。 當我按7倍放大該視圖時,此視圖內部可繪制質量問題很大。 我該如何解決?
只需強制ImageView
在將資源加載到視圖中時不縮放資源即可。 使用以下代碼設置ImageView
的資源:
Options options = new BitmapFactory.Options();
options.inScaled = false;
Bitmap bitmap = BitmapFactory.decodeResource(getContext().getResources(), resId, options);
mImageView.setImageBitmap(bitmap);
並記住當不再使用ImageView
時回收位圖
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.