Сделать KenBurnsView подходящим и заполнить данную область

Мое приложение использует KenBurnsView (замечательный кусок кода, спасибо!), И оно хорошо работает в режиме ScaleType.FIT_CENTE, но некоторые пользователи просто предпочитают вместо этого видеть целое, не обрезанное изображение (в этом случае неподвижное), которое работает довольно хорошо со стандартным ImageView, но терпит неудачу с KenBurns:

    if (XenoAmp.getWpsCover()) {
        final KenBurnsView caly = (KenBurnsView) widok.findViewById(R.id.tlo);
        if (XenoAmp.getCoverFill()) {
            caly.setScaleType(ScaleType.FIT_CENTER);
        } else {
            caly.setScaleType(ScaleType.CENTER_INSIDE);
            caly.pause();
        }
    }

Что происходит с Кеном: он остается маленьким и придерживается верхнего левого угла родительского обзора. Как я могу это исправить, не заменяя его стандартным ImageView?

1 ответ

Решение

Вы можете использовать два разных подхода:

  1. Используйте стандарт ImageViewвместе с KenBurnsView и переключайте видимость в соответствии с тем, что хотят видеть ваши пользователи.

  2. Написать свой TransitionGenerator это не делает никакого перехода вообще. Вы можете найти некоторую информацию о том, как это сделать, здесь: Определите начальную позицию масштабирования / панорамирования с помощью KenBurnsView.

ИМО, первый подход намного проще и имеет больше смысла.

Другие вопросы по тегам