在我的應用程序中,我想旋轉方向更改時的圖像,當方向改變發生時,是否可以旋轉圖像視圖?在Android中
爲了做到這一點,我嘗試了這段代碼片段;
public Bitmap rotateImage(String image_path){
Log.e("Inside rotATE IMAGE", "ROTATE"+image_path);
Matrix matrix = new Matrix();
matrix.postRotate(getImageOrientation(image_path));
bitmap= decodeFile(image_path);
Bitmap rotatedBitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(),
bitmap.getHeight(), matrix, true);
return rotatedBitmap;
}
public static int getImageOrientation(String imagePath){
int rotate = 0;
try {
File imageFile = new File(imagePath);
ExifInterface exif = new ExifInterface(
imageFile.getAbsolutePath());
int orientation = exif.getAttributeInt(
ExifInterface.TAG_ORIENTATION,
ExifInterface.ORIENTATION_NORMAL);
Log.e("ori","or" +orientation);
switch (orientation) {
case ExifInterface.ORIENTATION_ROTATE_270:
rotate = 270;
break;
case ExifInterface.ORIENTATION_ROTATE_180:
rotate = 180;
break;
case ExifInterface.ORIENTATION_ROTATE_90:
rotate = 90;
break;
}
} catch (IOException e) {
e.printStackTrace();
}
return rotate;
}
這是工作不錯,但它只是基於圖像的方向檢查在運行時的方向和旋轉圖像,我需要實時檢查設備的方向和要旋轉圖像以橫向模式,如果設備是在橫向,並反之亦然。任何人都可以幫助我??請提前致謝。
是ovveride onConfigChange方法和檢查縱向還是橫向,做你想讓它什麼 –
是可以旋轉的imageview的時候方向改變? – Gibs
是的,我告訴過你邏輯,你如何檢測設備的方向改變。並把你的邏輯旋轉ImageView裏面的方法 –