[在Android上使用scaletype centerCrop时如何调整ImageView的裁剪量?

问题描述 投票:0回答:1

我在LinearLayout中有一个ImageView(PhotoView),我正在应用scaletype中心裁切,但是裁切了太多,看起来也放大了。如何解决这个问题?

       <LinearLayout
           android:id="@+id/photoViewContainer"
           android:layout_width="wrap_content"
           android:layout_height="@dimen/flexible_space_image_height"
           android:background="@android:color/holo_purple"
           app:layout_constraintBottom_toBottomOf="parent"
           app:layout_constraintEnd_toEndOf="parent"
           app:layout_constraintStart_toStartOf="parent"
           app:layout_constraintTop_toTopOf="parent"
           app:layout_constraintVertical_bias="0.0">
               <com.github.chrisbanes.photoview.PhotoView
                   android:id="@+id/mainImageView"
                   android:layout_width="wrap_content"
                   android:layout_height="wrap_content"
                   android:scaleType="centerCrop"
                   android:adjustViewBounds="true"
                   android:background="@android:color/black" />
       </LinearLayout>
android xml imageview scaletype
1个回答
0
投票

我不确定是否可以控制裁剪,但是使用scaletype="fitXY"并提供一些填充对我有用。

<com.github.chrisbanes.photoview.PhotoView
                   android:id="@+id/mainImageView"
                   android:layout_width="wrap_content"
                   android:layout_height="wrap_content"
                   android:scaleType="fitXY"
                   android:padding="16dp"
                   android:adjustViewBounds="true"
                   android:background="@android:color/black" />

在此情况下,scaletype="fitXY"会将图像压缩到屏幕的大小,并对其进行填充以使其居中。还有一个我听说过的hack,您用负填充替换了填充,这会缩小图像,但我没有尝试过。

© www.soinside.com 2019 - 2024. All rights reserved.