我正在尝试使用下面的代码缩放图像视图,效果很好
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:fillAfter="true" >
<scale
xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="6000"
android:fromXScale="1"
android:fromYScale="1"
android:pivotX="50%"
android:pivotY="50%"
android:toXScale="1.2"
android:toYScale="1.2"
>
</scale>
</set>
<ImageView
android:id="@+id/image"
android:layout_width="match_parent"
android:layout_height="200dp"
android:scaleType="fitXY"
tools:src="@drawable/image"
app:layout_constraintDimensionRatio="H,16:9"
app:layout_constraintTop_toTopOf="parent"/>
但是它也可以缩放图像视图的高度和宽度。有没有一种方法可以缩放imageview的图像而不放大视图?
答案 0 :(得分:1)
这是行不通的,因为ImageView
本身已缩放。因此,无论scaleType
或adjustViewBounds
是什么,ImageView
仍会缩放。无法将图像与视图分开缩放,而是可以对ImageView
我的建议是在另一个视图中添加ImageView
,例如RelativeLayout
,将RelativeLayout
设置为所需的大小,然后缩放ImageView
。
这样做,RelativeLayout
的大小将保持不变,并且可以在缩放ImageView
时用来做您打算做的事情。
答案 1 :(得分:0)
您可以使图像自动调整大小以适合imageView
<ImageView
android:id="@id/img_id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:scaleType="fitCenter"/>
adjustViewBounds
是重新缩放图像以填充imageView的关键