2014-04-16 70 views
-1

我想显示矩形倾斜到90度的图像。我怎么能做到这一点?在矩形中显示图像?

enter image description here

在这个框架我想显示图像

请给我一些解决方案。

谢谢。

+3

我看到一个正方形。倾斜在45°... –

+0

http://stackoverflow.com/questions/21002224/add-a-background-image-to-shape-in​​-xml-android – weston

+1

@BobMalooga广场是矩形的子类:) –

回答

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); 
} 
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); 
+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); 
0

适用于所有API 放置在您的Layout XML中使用ImageView,并在您的Activity的onCreate()中为其设置动画:

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