Сжатие для увеличения с помощью пейджера в представлении прокрутки (что-то вроде того, что делает Instagram) - PullRequest
0 голосов
/ 04 марта 2019

Я использую https://github.com/MikeOrtiz/TouchImageView для увеличения ImageView, расширен видоискатель для переопределения canScroll метода.Пролистывание пейджера работает отлично, но жест масштабирования не работает должным образом.Это вид прокрутки вместо увеличения изображения.

public class HeightWrappingPager extends ViewPager{

        public HeightWrappingPager (Context context) {
            super(context);
        }

        public HeightWrappingPager (Context context, AttributeSet attrs) {
            super(context, attrs);
        }

        @Override
        protected boolean canScroll(View v, boolean checkV, int dx, int x, int y) {
            if (v instanceof TouchImageView) {
                return ((TouchImageView) v).canScrollHorizontallyFroyo(-dx);
            } else {
                return super.canScroll(v, checkV, dx, x, y);
            }
        }
    }

Вот мой взгляд

<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <com.custom_ui.ZoomableImageView
            android:id="@+id/post_image"
            app:layout_constraintTop_toTopOf="parent"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>
    </android.support.constraint.ConstraintLayout>

Вот мой родительский вид

<ScrollView
    android:id="@+id/scroll"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginTop="40dp"
    android:clipToPadding="false"
    android:paddingBottom="50dp"
    android:scrollbars="vertical"
    app:layout_constraintTop_toBottomOf="@id/toolbar">

    <com.custom_ui.HeightWrappingPager
        android:id="@+id/post_list"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="@dimen/five_dp"
        android:background="@color/white_transparent"
        android:minHeight="50dp"
        app:layout_constraintTop_toBottomOf="@id/post_description" />

    <LinearLayout
        android:id="@+id/layoutDots"
        android:layout_width="match_parent"
        android:layout_height="30dp"
        android:gravity="center"
        android:orientation="horizontal"
        app:layout_constraintTop_toBottomOf="@id/post_list" />
</ScrollView>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...