我希望将图像显示为倾斜至90度的矩形。我怎么能这样做?
在此框架中,我想显示图像
请给我一些解决方案。
感谢。
答案 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);