Java 在Android中用按钮旋转图像
我在视图上有一个带有几个按钮的图像。其中一个按钮可向下移动图像。它通过向上边缘添加1像素来向下移动图像。代码如下:Java 在Android中用按钮旋转图像,java,android,rotation,Java,Android,Rotation,我在视图上有一个带有几个按钮的图像。其中一个按钮可向下移动图像。它通过向上边缘添加1像素来向下移动图像。代码如下: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button button = (Button)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = (Button) findViewById(R.id.button1);
final ImageView image = (ImageView) findViewById(R.id.image1);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
((ViewGroup.MarginLayoutParams) image.getLayoutParams()).topMargin += 1;
image.requestLayout();
}
});
}
现在,我希望能够旋转图像。就像我现在的代码一样,我想要一个按钮,当按下按钮时,图像将旋转。但是我该怎么做呢
Bitmap source; //Declare Global
float angle=0; //Declare Global
Button button = (Button) findViewById(R.id.button1);
final ImageView image = (ImageView) findViewById(R.id.image1);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
angle+=70;
Bitmap rotatedImage=rotateImage(your_image_source,angle);
img.setImageBitmap(rotatedImage);
}
});
public static Bitmap rotateImage(Bitmap sourceImage, float angle)
{
Matrix matrix = new Matrix();
matrix.postRotate(angle);
return Bitmap.createBitmap(sourceImage, 0, 0, sourceImage.getWidth(), sourceImage.getHeight(), matrix, true);
}
你可以查一下
试试这个,我希望它能帮助你
您可以通过在该按钮上添加旋转动画来完成此操作,并在需要时启动该动画。选中此选项:
imageView.setScaleType(ImageView.ScaleType.MATRIX);
Matrix matrix = new Matrix();
matrix.setRotate(degree); //you can also translate, scale
imageView.setImageViewMatrix(matrix);