Увеличение изображения Просмотр в Android - PullRequest
0 голосов
/ 25 марта 2020

Я новичок в Android и пробую рецепты Android поваренной книги по разработке приложений , купленной в PAckt некоторое время go. Рецепт Создание анимации масштабирования с пользовательским переходом ввел следующий код:

        if((float)finalBounds.width()/finalBounds.height() > (float)startBounds.width()/startBounds.height()){
            startScale = (float) startBounds.height() / finalBounds.height();
            float startWidth = startScale*finalBounds.width();
            float deltaWidth = (startWidth - startBounds.width())/2;
            startBounds.left -= deltaWidth;
            startBounds.right += deltaWidth;
        }else{
            startScale = (float) startBounds.width() / finalBounds.width();
            float startHeight = startScale * finalBounds.height();
            float deltaHeight = (startHeight - startBounds.height())/2;
            startBounds.top -= deltaHeight;
            startBounds.bottom += deltaHeight;
        }

startBounds и finalBounds android Rect, связанные с миниатюрой изображения и исходным изображением соответственно! Мой вопрос заключается в том, почему масштабный коэффициент startScale рассчитывается таким образом и почему startBounds корректируются с помощью deltaWith и deltaHeight соответственно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...