1
2
|
android:screenOrientation=
"landscape"
//横屏
android:screenOrientation=
"portrait"
//竖屏
|
1
2
|
// activity的 onCreate 函数中
this
.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_FULL_SENSOR);
|
1
|
android:configChanges=
"orientation|screenSize"
|
1
2
3
4
|
@Override
public
voidonConfigurationChanged(Configuration newConfig) {
super
.onConfigurationChanged(newConfig);
}
|
1
2
3
4
5
6
7
8
9
|
public
class
MyOrientationDetector
extends
OrientationEventListener{
public
MyOrientationDetector( Context context ) {
super
(context );
}
@Override
public
void
onOrientationChanged(
int
orientation) {
Log.i(
"MyOrientationDetector "
,
"onOrientationChanged:"
+orientation);
}
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
if
(orientation == OrientationEventListener.ORIENTATION_UNKNOWN) {
return
;
//手机平放时,检测不到有效的角度
}
//只检测是否有四个角度的改变
if
( orientation >
350
|| orientation<
10
) {
//0度
orientation =
0
;
}
else
if
( orientation >
80
&&orientation <
100
) {
//90度
orientation=
90
;
}
else
if
( orientation >
170
&&orientation <
190
) {
//180度
orientation=
180
;
}
else
if
( orientation >
260
&&orientation <
280
) {
//270度
orientation=
270
;
}
else
{
return
;
}
Log.i(
"MyOrientationDetector "
,
"onOrientationChanged:"
+orientation);
|