了解ImageView是否会尊重方向

时间:2015-10-29 21:16:05

标签: android imageview orientation sony sony-xperia

我构建了一个“图库”应用程序。我的图像方向有问题。我创建了图像(相机),并相信已正确设置方向。它可以在内置库中以及我在各种设备上的应用程序中显示。

奇怪的是索尼Xperia,我的应用程序的ImageView没有正确显示(内置库显示正确)。然后我尝试为ImageView设置旋转矩阵并将scaleType设置为矩阵,但它仍然无效。在将Bitmap放入ImageView之前,我必须自动旋转它。

所以这是最后的问题。如何检查ImageView是否可以自行处理方向(或者代码应该执行它必须执行的操作)。我不相信它是Android版本。我的索尼Xperia是Android 4.4.4。

2 个答案:

答案 0 :(得分:0)

您可以使用以下代码

旋转图像视图的位图
    BitmapFactory.Options bmOptions = new BitmapFactory.Options();
    // Decode Image using Bitmap factory.
    Bitmap bMap = BitmapFactory.decodeFile(uriimage.getPath(), bmOptions);  

    // Create object of new Matrix.
    Matrix matrix = new Matrix();

//根据您的要求设置旋转         matrix.postRotate(90);

    // Create bitmap with new values.
    Bitmap bMapRotate = Bitmap.createBitmap(bMap, 0, 0, bMap.getWidth(),
            bMap.getHeight(), matrix, true);

//现在将位图设置为imageview imageview.setBitmap(bmapRotate);

希望它能帮到你

答案 1 :(得分:0)

普拉萨德,谢谢你。

在发布问题之后,我发现(在SO中)也是索尼Xperia的简单解决方案。

使用:imageView.setRotation(orientation);在这里找到它:https://stackoverflow.com/a/14509371/1614089