Fixes #3414: For v2.13, Handle zoom in media details view (#3422)

* MediaDetailFragment: add zoom feature

* fragment_media_detail: add SimpleDrawee for Scroll picture

* ZoomableActivity: activity which facilitates zoom in

* activity_zoomable: xml for zoom activity

* zoomControllers: controllers for handling gesture and zooming

* MediaDetailFragment: fixing name of image variable

* MediaDetailFragment: display as per the aspect ratio of image

* add zoom activity to AndroidManifest

* fix travis ci faliure

* fix resizing of image
This commit is contained in:
Kshitij Bhardwaj 2020-03-09 14:07:48 -04:00 committed by GitHub
parent 5fd88ef1a8
commit 642ed51c8c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
16 changed files with 2295 additions and 32 deletions

View file

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/black"
tools:context="fr.free.nrw.commons.media.ZoomableActivity">
<fr.free.nrw.commons.media.zoomControllers.zoomable.ZoomableDraweeView
android:id="@+id/zoomable"
android:layout_height="match_parent"
android:layout_width="match_parent"
app:actualImageScaleType="fitCenter"
/>
</androidx.constraintlayout.widget.ConstraintLayout>

View file

@ -40,10 +40,11 @@
<!-- Placeholder. Height gets set at runtime based on container size; the initial value is a hack to keep
the detail info offscreen until it's placed properly. May be a better way to do this. -->
<fr.free.nrw.commons.media.MediaDetailSpacer
android:id="@+id/mediaDetailSpacer"
<com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/mediaDetailImageView"
android:layout_width="match_parent"
android:layout_height="@dimen/standard_gap" />
android:layout_height="@dimen/dimen_250"
app:actualImageScaleType="none" />
<LinearLayout
android:layout_width="match_parent"