2016-06-30 47 views
1

我的Android项目中有一个ImageView。在某些情况下,我需要旋转此图像视图。所有的旋转都是在旋转动画的帮助下进行的。但是,当ImageView旋转90度或270度时,其内部的位图会在顶部和底部进行裁剪。我不知道为什么会发生这种情况。任何人都可以给我一个如何避免这种行为的建议吗?ImageView中的位图在旋转后得到裁剪

  final ImageView photoView = (ImageView) main_activity.findViewById(R.id.photo_view); 
      RotateAnimation mRotateAnim = new RotateAnimation(oldRotation, newRotation, photoView.getPivotX(), photoView.getPivotY()); 
      mRotateAnim.setDuration(500); 
      mRotateAnim.setFillAfter(true); 
      photoView.startAnimation(mRotateAnim); 

这是XML文件中我的ImageView声明:

<ImageView 
      android:id="@+id/photo_view" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:layout_centerInParent="true" 
      android:layout_above="@+id/bottom_container" 
      android:adjustViewBounds="true"/> 
+0

你找到一个解决办法? – Juvi

回答

1

尝试改变

RotateAnimation mRotateAnim = new RotateAnimation(oldRotation, newRotation, photoView.getPivotX(), photoView.getPivotY()); 

有:

RotateAnimation mRotateAnim = new RotateAnimation(oldRotation, newRotation, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); 
+0

感谢您的建议,但这个解决方案并没有帮助我((( –