放大动画imageview

时间:2019-04-12 18:27:23

标签: android animation android-animation

我正在尝试使用下面的代码缩放图像视图,效果很好

<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的图像而不放大视图?

2 个答案:

答案 0 :(得分:1)

这是行不通的,因为ImageView本身已缩放。因此,无论scaleTypeadjustViewBounds是什么,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的关键