水平图像的 ImageView 缩放问题
Posted
技术标签:
【中文标题】水平图像的 ImageView 缩放问题【英文标题】:ImageView scaling issues with horizontal image 【发布时间】:2021-12-22 05:02:03 【问题描述】:我在 imageview 中缩放图像时遇到了一些问题。下面是部分代码:
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/dimension_ratio_container"
android:layout_
android:layout_
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintDimensionRatio="1:1">
<com.ortiz.touchview.TouchImageView
android:id="@+id/editor_second_image"
android:layout_
android:layout_
android:adjustViewBounds="true"
android:scaleType="center"
android:background="@color/gray_toolbar"
app:layout_constraintStart_toEndOf="@id/editor_divider"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
<View
android:id="@+id/editor_divider"
android:layout_
android:layout_
android:background="@color/black"
android:visibility="invisible"
app:layout_constraintEnd_toEndOf="parent"/>
<com.ortiz.touchview.TouchImageView
android:id="@+id/editor_first_image"
android:layout_
android:layout_
android:scaleType="center"
android:adjustViewBounds="true"
android:background="@color/mainGreen"
app:layout_constraintEnd_toStartOf="@+id/editor_divider"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"/>
我希望图像缩放同时保持其参数,并且我可以移动或缩放它。我使用 TouchImageView。问题是,如果我将带有专辑方向的图像放在第一个图像视图中,我将有这样的东西:
但是第二个 imageview 使用相同的参数设置了我想要的图像:
我该如何解决?
【问题讨论】:
【参考方案1】:这是我如何在没有 scaleType="fitXY" 的情况下将图像拉伸到全屏或图像视图的解决方案,因为它会损坏图像。使用以下库。
[一个简单的图像视图,以给定的比例缩放宽度或高度]
https://github.com/santalu/aspect-ratio-imageview
要查找设备屏幕的纵横比,请使用以下代码。
DisplayMetrics metrics =this.getResources().getDisplayMetrics();
float ratio = ((float)metrics.heightPixels / (float)metrics.widthPixels);
【讨论】:
以上是关于水平图像的 ImageView 缩放问题的主要内容,如果未能解决你的问题,请参考以下文章
Android Studio:缩放 ImageView 边界以适应图像