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

アドバイスをいただきありがとうございますが、この解決策は私を助けませんでした(( –

関連する問題