此文是对 安卓监听屏幕的横竖翻转 的补充,描述对屏幕横屏时,翻转屏幕如何让屏幕自动切换。
先上效果图:
翻转屏幕后:
1、先在Menifest文件中进行声明:(默认是横屏)
<activity
android:name="com.suma.smartview.view.PlayerActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:screenOrientation="landscape"
/>
2、在setContentView之前加上如下代码。ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE是在2.3.2上才加上去的,
所以 2.2 就没办法了。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);// 无标题栏
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);// 去掉状态栏
//2.3以上自动横屏,而且可以切换,2.2只能是横屏一个方向
if (Build.VERSION.SDK_INT >= 9) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
}
setContentView(GetItemId.getLayoutResIDByName(this, "suma_layout_player"));
initViews();
}
3、当然,这个方法是兼容2.2以上版本,如果你根本就不考虑2.2版本,只需要在Menifest文件中声明 android:screenOrientation=”sensorLandscape”
就可以实现landscape的两方向自动旋转。