在矩形中显示图像?

时间:2014-04-16 12:57:13

标签: android imageview

我希望将图像显示为倾斜至90度的矩形。我怎么能这样做?

enter image description here

在此框架中,我想显示图像

请给我一些解决方案。

感谢。

4 个答案:

答案 0 :(得分:3)

您可以创建一个45d动画并将其应用到ImageView,如下所示:

    ImageView image= (ImageView)findViewById(R.id.imageView);
    // Create 45d animaion
    Animation an = new RotateAnimation(0.0f, 45f, image.getPivotX(), image.getPivotY());

    // Set the animation's parameters
    an.setDuration(1);               
    an.setRepeatCount(0);                
    an.setRepeatMode(Animation.REVERSE); 
    an.setFillAfter(true);               

    // Aplly animation to image
    image.setAnimation(an);

答案 1 :(得分:1)

API> = 11

mImageView.setRotation(angle) 

另一种方法:

ImageView img = (ImageView)findViewById(R.id.yourImageViewId);
Options o = getSize(this, R.drawable.yourImage);
Matrix m = new Matrix();
m.postRotate(angle, o.outWidth/2, o.outHeight/2);
img.setScaleType(ScaleType.MATRIX);
img.setImageMatrix(m);

答案 2 :(得分:0)

使用以下方法。

public static Bitmap rotate(Bitmap src, float degree) {
    // create new matrix
    Matrix matrix = new Matrix();
    // setup rotation degree
    matrix.postRotate(degree);

    // return new bitmap rotated using matrix
    return Bitmap.createBitmap(src, 0, 0, src.getWidth(), src.getHeight(), matrix, true);
}

答案 3 :(得分:0)

适用于所有API 将ImageView放置在Layout XML中,并在Activity的onCreate()中为它设置An Animation,如下所示:

float rotationDegree = -45; //You can change if you need.
        Animation anim = new RotateAnimation(0,rotationDegree);
        anim.setFillAfter(true);
        imageView.startAnimation(anim);