我有一个图像视图,我想在其中显示来自手机 URI 的图片
我想根据拍摄的方向旋转图片的位图 - 但它不能始终以相同的方向显示图片。
这是我的图像视图:
<!-- picture imageView -->
<ImageView
android:id="@+id/fragment_new_picture_imageview_picture"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:contentDescription="@string/app_name"
android:scaleType="fitXY" />
这是我的矩阵函数:
/**
* Get the new picture {@link Bitmap} according to picture's right orientation
* @return the picture's {@link Bitmap}
*/
public Bitmap getPictureBitmap()
{
//if there is a saved instance - return it
if (pictureBitmap != null)
return pictureBitmap;
//decode bitmap
Bitmap bitmap = BitmapFactory.decodeFile(path);
//rotate bitmap
Matrix matrix = new Matrix();
matrix.postRotate(orientation);
//create new rotated bitmap
bitmap = Bitmap.createBitmap(bitmap, 0, 0,bitmap.getWidth(), bitmap.getHeight(), matrix, true);
return bitmap;
}
这就是清单中提到我的活动的方式:
<activity
android:name="com.coapps.pico.background.BackgroundActivity"
android:screenOrientation="portrait"
android:theme="@style/MainActivityTheme" >
</activity>
使用查询 Media.EXTERNAL_CONTENT_URI 并获取 Media_ORIENTATION 字段来给出方向