其他分享
首页 > 其他分享> > 在viewpager内部的Android缩放到缩放布局,左右填充

在viewpager内部的Android缩放到缩放布局,左右填充

作者:互联网

我有一个带有左右填充的viewpager,用于显示viewpager左右页面的预览.

viewPager.setPadding(30,0,30,0);

viewpager的内容是从here借来的zoomlayout.
所以问题是,每当我从viewpager缩放布局时,唯一可见的缩放位于顶部和底部.由于填充,左右不可见变焦.

缩放前的屏幕截图
Normal View without zooming (pinch to zoom)

缩放后的屏幕截图
Pinch to zoom
Pinch to zoom

缩放视图在viewpager填充内限制.我需要视图来缩放全屏而没有任何填充或边界.

这些是我正在尝试的代码片段

activity_reader.xml

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
    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">
    <ViewPager
        android:id="@+id/reader_pager"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="#000"/>
</FrameLayout>

each_page.xml

<?xml version="1.0" encoding="utf-8"?>

<com.test.poc.widgets.ZoomLayout
    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:id="@+id/zoom_layout">
    <RelativeLayout
        android:id="@+id/img_holder"
        android:transitionName="pager"
        android:background="#FFF"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:orientation="vertical">
        <ImageView
            android:id="@+id/page_image"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:srcCompat="@drawable/a_four"
            android:layout_weight="1"
            android:scaleType="fitXY"
            />
    </RelativeLayout>
</com.test.poc.widgets.ZoomLayout>

在缩放视图后,当我松开手指时,视图应该平滑移动到全屏视图戳.

尝试将clipToPadding设置为false,但在缩放时仍然存在填充的一侧

解决方法:

您是否尝试在viewlay中将zoomview放在framelayout中(不在每个页面中),因此它位于viewpager之上.

标签:pinchzoom,android,android-viewpager,zoom,scale
来源: https://codeday.me/bug/20191008/1873555.html