本篇内容主要解决屏幕旋转和Surface旋转之间的关系,使相机的预览画面与屏幕旋转方向一致。
在官方demo的开始,定义了一个SparseIntArray
,用来保存屏幕旋转的key和value:
private static final SparseIntArray ORIENTATIONS = new SparseIntArray();
接着是static语句块,用来初始化这个SparseIntArray
:
static {
ORIENTATIONS.append(Surface.ROTATION_0, 90);
ORIENTATIONS.append(Surface.ROTATION_90, 0);
ORIENTATIONS.append(Surface.ROTATION_180, 270);
ORIENTATIONS.append(Surface.ROTATION_270, 180);
}
可以说一开始就懵逼了,这还咋看下去啊!不急,有请Log和大神来帮忙。
在进行capture
的时候有这样一段代码:
// ①
int rotation = activity.g