本身我的ImageView的src并不是一张从项目文件中加载的图片,而是一个Bitmap图片!
然后旋转ImageView没有旋转,但是ImageView中的Bitmap却变形了

解决方案 »

  1.   

    Bitmap可以旋转的,ImageView重新加载一次就行了:
    /**
     * 旋转图片
     * 
     * @param bitmap
     *            源图片
     * @param angle
     *            旋转角度(90为顺时针旋转,-90为逆时针旋转)
     * @return Bitmap
     */
    public Bitmap rotate(Bitmap bitmap, float angle) {
    Matrix matrix = new Matrix();
    matrix.postRotate(angle);
    return Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), matrix, true);
    }
      

  2.   

    这个我知道,我也做了实验,是能够旋转的,但问题我也在1楼说了,我的ImageView中的图片并不是一个资源图片,而是一个bitmap图片,然后旋转的话,中间的Bitmap图片确实旋转了,但是ImageView没有跟着旋转。中间的正方形是ImageView,本来中间蓝色区域的Bitmap填充了整个ImageView,而旋转之后 就变成了这样,后面黑色的区域是因为我把这个ImageView增加了背景色!
      

  3.   

    matrix 本来就是旋转Bitmap,ImageView的形态只能是矩形,不可能跟着Bitmap变形的,把ImageView的背景设置成透明应该就看不出问题了吧。。 如果怕图片超出Imageview边界被遮挡,就把ImageView设成全屏的或者适应图片边界
      

  4.   

    楼上正解,你是将图片旋转了,而不是旋转了imageview,如果想旋转imageview,可以baidu下,有解决方案
      

  5.   

    我也百度了好久,但是都是通过Bitmap bitmap=BitmapFactory.decodeResource(getResources(), R.drawable.XXX);
    来获取图片的bitmap的,如果没有这张图片,直接使用bitmap的话  就会产生我的那种情况!
      

  6.   

    我也百度了好久,但是都是通过Bitmap bitmap=BitmapFactory.decodeResource(getResources(), R.drawable.XXX);
    来获取图片的bitmap的,如果没有这张图片,直接使用bitmap的话  就会产生我的那种情况!
    获取background图片的bitmap来旋转吧!