Android旋转图像
我想在方向上旋转图像和。但不需要重新启动活动。图像应该旋转,但视图不应该旋转。[示例:默认摄像头应用程序]有什么想法吗?我想我应该修正方向:屏幕方向=肖像 如果旋转手机,活动将无法恢复。但底部或侧面的图标会旋转。我该怎么做Android旋转图像,android,rotation,Android,Rotation,我想在方向上旋转图像和。但不需要重新启动活动。图像应该旋转,但视图不应该旋转。[示例:默认摄像头应用程序]有什么想法吗?我想我应该修正方向:屏幕方向=肖像 如果旋转手机,活动将无法恢复。但底部或侧面的图标会旋转。我该怎么做 示例:00:40-只有图标旋转,而不是孔视图旋转。您可以使用ExiFinInterface从文件中获取旋转信息 Matrix matrix = new Matrix(); Bitmap b; //... imageView.setImageBitmap(b); //... /
示例:00:40-只有图标旋转,而不是孔视图旋转。您可以使用ExiFinInterface从文件中获取旋转信息
Matrix matrix = new Matrix();
Bitmap b;
//...
imageView.setImageBitmap(b);
//...
// screen rotation
matrix.postRotate(90);
b = Bitmap.createBitmap(b, 0, 0, b.getWidth(), b.getHeight(), matrix, true);
imageView.setImageBitmap(b);
Matrix matrix = new Matrix();
int orientation = 1;
try {
ExifInterface exif = new ExifInterface(filePath);
orientation = exif.getAttributeInt(ExifInterface.TAG_ORIENTATION, 1);
} catch (IOException e) {
e.printStackTrace();
}
matrix.setRotate(0);
switch (orientation) {
case ExifInterface.ORIENTATION_ROTATE_90:
matrix.setRotate(ROTATION_DEGREE);
break;
case ExifInterface.ORIENTATION_ROTATE_180:
matrix.setRotate(ROTATION_DEGREE * 2);
break;
case ExifInterface.ORIENTATION_ROTATE_270:
matrix.setRotate(-ROTATION_DEGREE);
break;
default:
break;
}
如果您想在单击按钮时动态旋转图像,请全局定义
int angle; int valueangle = 0;
以及点击按钮的使用
mrotate.setOnClickListener新建OnClickListener{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
ImageView mainimage22 = (ImageView) findViewById(R.id.mainimage22);
Bitmap myImg = BitmapFactory.decodeResource(getResources(), R.drawable.image);
angle = valueangle + 90;
valueangle = angle;
System.out.println("valueangle"+valueangle);
if(valueangle == 360){
valueangle=0;
System.out.println("00"+valueangle);
}
System.out.println("angle"+angle);
main_img.setVisibility(View.INVISIBLE);
Matrix matrix = new Matrix();
matrix.postRotate(angle);
Bitmap rotated = Bitmap.createBitmap(myImg , 0, 0,
myImg .getWidth(), myImg .getHeight(), matrix, true);
mainimage22.setImageBitmap(rotated);
}
});
我使用了OrientationEventListener并实现了OrientationChangedInt orientation方法。在我的主要活动中,我创建了一个调用实例并开始跟踪旋转:
公共类旋转检测器扩展了OrientationEventListener
在我的主要活动中:
MorentationListener=新的旋转检测到此;
MorentationListener.enable
当你不再使用它时,别忘了禁用它。还要注意MaliEGL错误。你的问题非常令人困惑。请提供一些额外的说明或包含一些你当前的代码。添加了一个视频,我希望你明白我的意思