簡體   English   中英

Android比例尺可繪制,無質量泄漏

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM