2016-06-30 52 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

感謝您的建議,但這個解決方案並沒有幫助我((( –