Intereting Posts
Android.content.res.Resources $ NotFoundException при программной настройке android.R.attr.listChoiceIndicatorMultiple Как определить, когда устройство переключается с портретного на альбомный? Можно ли установить java fx на Android-телефон? Невозможно импортировать проект в студию Android Расширенная панель инструментов с пользовательским представлением, не отображаемым с полной шириной Проблема с двойной подсказкой TextInputLayout и EditText Как уменьшить размер дизайнерского дизайна Android в Intellij Idea12? Как получить одинаковые координаты для изображения для всех разрешений в android? ConstraintLayout не работает в графическом редакторе Android Studio 3.0 – Canary 4 Анимированная анимация Android Layout при удалении, а затем добавление одного ребенка Как отобразить тост внутри обработчика / потока? API-интерфейс Google Calendar OAuth2 на Android-соте Пользовательский интерфейс зависает с сообщениями GC Список отображения Android с помощью expandableListView Как я могу изменить размер imageButton?

Галерея Android с увеличенным зумом

Я нашел образец проекта галереи с улучшенным зумом и исправил некоторые ошибки. Вы можете скачать мой код здесь

Он поддерживает только полный экран. Он всегда центрирует изображение до высоты экрана. Но я хочу поместить заголовок в верхнюю часть экрана и внести корректировку в расположение изображения. Местоположение изображения должно быть:

header height + (screen height - header height) / 2 

Я не очень хорошо использую Matrix . У кого-нибудь есть идея, как настроить настроенную галерею на работу любого размера (а не только на весь экран)?

Solutions Collecting From Web of "Галерея Android с увеличенным зумом"

Вы можете использовать мой Pinch для увеличения проекта галереи . Вы можете выбрать любое изображение из галереи, а затем в onDoubleTap(MotionEvent e) открыть полное изображение и увеличить его.

Вы можете использовать функцию масштабирования изображения для галереи также с использованием следующих строк кода:

 case MotionEvent.ACTION_POINTER_DOWN: oldDist = spacing(event); Log.d(TAG, "oldDist=" + oldDist); if (oldDist > 10f) { savedMatrix.set(matrix); midPoint(mid, event); mode = ZOOM; Log.d(TAG, "mode=ZOOM" ); } break; 

Или вы можете загрузить пример .