一、获取configuration对象
Configuration cfg=getResourse().getConfiguration();
通过configuration对象配置属性
1.public int keyboard:可能返回KEYBOARD_NOKEYS、KEYBOARD_QWERTY(普通电脑键盘)、KEYBOARD_12KEY(12键小键盘)等属性
2.public int keyboarHidden:返回一个boolean值用于标识当前键盘是否可用。硬件键盘不可用,软键盘可用,该属性返回KEYBOARDHIDDEN_NO;当两个键盘都不可用时才返回KEYBOARDHIDDEN_YES。
3.public int navigation:判断系统方向导航设备的类型。该属性可能返回NAVIGATION_NONAV(无导航)、NAVIGATION_DPAD(DPAD导航)、NAVIGATION_TRACKBALL(轨迹球导航)、NAVIGATION_WHEEL(滚轮导航)等属性。
4.public int orientation:获取屏幕的方向,该属性可能返回ORIENTATION_LANDSCAPE(横向屏幕)、ORIENTATION_PORTRAIT(竖向屏幕)、ORIENTATION_SQUARE(方形屏幕)。
5.public int touchscreen:获取系统触摸屏的触摸方式。该属性可能返回TOUCHSCREEN_NOTOUCH(无触摸屏)、TOUCHSCREEN_STYLUS(触摸笔式触摸屏)、TOUCHSCREEN_FINGER(接受手指的触摸屏)等属性。
二、onConfigurationChanged方法响应系统设置改变
1.可以通过Activity的setRequestedOrientation(int)改变屏幕的方向。
三、需要在Manifest文件中配置信息
1.设置android:configChanges属性 可支持mcc、mnc、keyboard、touchsreen、orientation、navigation、keyboardHidden、screenSize、uiMode、fontScale,其中orientation|screenSize属性设置该Activity可以监听屏幕方向改变的事件。