Configuration类的常量与变量

    Android中Configuration类专门用于描述手机设备上的配置信息,这些配置信息既包括用户特定的配置项,也包括系统的动态设备配置。

官方文档: https://developer.android.com/reference/android/content/res/Configuration
中国地址: https://developer.android.google.cn/reference/android/content/res/Configuration

在AndroidManifest.xml添加:

1
< uses-permission android:name="android.permission.CHANGE_CONFIGURATION" />

在< activity标签中添加:
1
android:configChanges="orientation"

Configuration对象

    对象获得

1
Configuration configuration = getResources().getConfiguration();

Configuration变量

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
public int colorMode;             // 屏幕颜色的Bit
public int densityDpi; // 得到屏幕的像素密度
public float fontScale; // 获取当前用户设置的字体的缩放因子
public int hardKeyboardHidden; // 判断硬键盘是否可见,有两个可选值:HARDKEYBOARDHIDDEN_NO,HARDKEYBOARDHIDDEN_YES,分别是十六进制的0和1
public int keyboard; // 获取设备当前关联额键盘类型,该属性的返回值:KEYBOARD_12KEY(只有12个键的小键盘)、KEYBOARD_NOKEYS、KEYBOARD_QWERTY(普通键盘)
public int keyboardHidden; /* 该属性会返回一个boolean值用于表示当前的键盘是否可用,该属性不仅
* 会判断系统的硬件键盘,也会判断系统位于屏幕上的软键盘,如果该系统
* 的硬件键盘不可用但软键盘可用该属性会返回KEYBOARDHIDDEN_NO,只
* 有当两个键盘都不可用的时候才返回KEYBOARDHIDDEN_YES
* */
/** @deprecated(弃用) */
@Deprecated
public Locale locale; // 获取用户当前的语言环境
public int mcc; // 得到移动信号的国家码
public int mnc; // 得到移动信号的网络码
public int navigation; /* 判断系统上方向导航设备的类型。该属性的返回值:
* NAVIGATION_NONAV(无导航)、NAVIGATION_DPAD(DPAD导航)、
* NAVIGATION_TRACKBALL(轨迹球导航)、NAVIGATION_WHEEL(滚轮导航)
* */
public int navigationHidden; /* 全部5个案件或者DPAD(上下左右中按键)导航是否可用,
* 返回NAVIGATIONHIDDEN_NO(不可用),NAVIGATIONHIDDEN_YES(可用)
* */
public int orientation; /* 得到系统屏幕的方向,该属性将会返回ORIENTATION_LANDSCAPE(横向
* 屏幕),ORIENTATION_PORTRAIT(竖向屏幕),ORIENTATION_SQUARE(方
* 形屏幕)三个属性值之一
* */
public int screenHeightDp; // 屏幕可用高和宽,用dp表示
public int screenLayout; // 屏幕整体布局的位掩码
public int screenWidthDp; // 当前可用的屏幕空间的宽度,以dp为单位
public int smallestScreenWidthDp; // 应用程序在正常操作中看到的最小屏幕大小
public int touchscreen; /* 获取系统触摸屏的触摸方式。该属性的返回值:
* TOUCHSCREEN_NOTOUCH(无触摸屏)、TOUCHSCREEN_STYLUS(触摸笔
* 式触摸屏)、TOUCHSCREEN_FINGER(接收手指的触摸屏)等属性值
* */
public int uiMode; // ui的bit

Configuration常量

    复制别人的,好多都写错了,建议看官方文档

常数
intdensity_dpi_undefined默认值densitydpi这表明没有宽度已被指定。
inthardkeyboardhidden_no常数hardkeyboardhidden的相应值,物理键盘被暴露。
inthardkeyboardhidden_undefined常数hardkeyboardhidden:一个值表示没有值已设置。
inthardkeyboardhidden_yes常数hardkeyboardhidden的相应值,物理键盘被隐藏。
intkeyboardhidden_no常数keyboardhidden的相应值, keysexposed资源限定符。
intkeyboardhidden_undefined常数keyboardhidden:一个值表示没有值已设置。
intkeyboardhidden_yes常数keyboardhidden的相应值, keyshidden资源限定符。
intkeyboard_12key常数keyboard的相应值, 12key资源限定符。
intkeyboard_nokeys常数keyboard的相应值, nokeys资源限定符。
intkeyboard_qwerty常数keyboard的相应值, 键盘资源限定符。
intkeyboard_undefined常数keyboard:一个值表示没有值已设置。
intnavigationhidden_no常数navigationhidden的相应值, navexposed资源限定符。
intnavigationhidden_undefined常数navigationhidden:一个值表示没有值已设置。
intnavigationhidden_yes常数navigationhidden的相应值, navhidden资源限定符。
intnavigation_dpad常数navigation(导航)的相应值, 东风标致资源限定符。
intnavigation_nonav常数navigation(导航)的相应值, nonav资源限定符。
intnavigation_trackball常数navigation(导航)的相应值, 轨迹球资源限定符。
intnavigation_undefined常数navigation(导航):一个值表示没有值已设置。
intnavigation_wheel常数导航的相应值, 轮资源限定符。
intorientation_landscape常数定位的相应值, 土地资源限定符。
intorientation_portrait常数定位的相应值, 港口资源限定符。
intorientation_square这种不断的被废弃的在API级别16。目前不支持或使用。
intorientation_undefined常数定位:一个值表示没有值已设置。
intscreenlayout_layoutdir_ltr常数screenlayout:一个screenlayout_layoutdir_mask值表示一个布局目录已被设置为LTR。
intscreenlayout_layoutdir_mask常数screenlayout:编码布局方向位。
intscreenlayout_layoutdir_rtl常数screenlayout:一个screenlayout_layoutdir_mask值表示一个目录被设置为RTL布局。
intscreenlayout_layoutdir_shift常数screenlayout:位移到布局方向。
intscreenlayout_layoutdir_undefined常数screenlayout:一个screenlayout_layoutdir_mask值表示没有布局方向已定。
intscreenlayout_long_mask常数screenlayout:编码的纵横比位。
intscreenlayout_long_no常数screenlayout:一个screenlayout_long_mask价值相当于 不久资源限定符。
intscreenlayout_long_undefined常数screenlayout:一个screenlayout_long_mask值表示没有大小已设置。
intscreenlayout_long_yes常数screenlayout:一个screenlayout_long_mask价值相当于 长资源限定符。
intscreenlayout_size_large常数screenlayout:一个screenlayout_size_mask值指示屏幕至少约为480x640 dp单位,对应于 大资源限定符。
intscreenlayout_size_mask常数screenlayout:编码比特的大小。
intscreenlayout_size_normal常数screenlayout:一个screenlayout_size_mask值指示屏幕至少约320x470 dp单位,对应于 正常的资源限定符。
intscreenlayout_size_small常数screenlayout:一个screenlayout_size_mask值指示屏幕至少约320x426 dp单位,对应于 小资源限定符。
intscreenlayout_size_undefined常数screenlayout:一个screenlayout_size_mask值表示没有大小已设置。
intscreenlayout_size_xlarge常数screenlayout:一个screenlayout_size_mask值指示屏幕至少约720x960 dp单位,对应于 超大资源限定符。
intscreenlayout_undefined常数screenlayout:一个值表示screenlayout是未定义的
intscreen_height_dp_undefined默认值screenHeightDp这表明没有宽度已被指定。
intscreen_width_dp_undefined默认值screenwidthdp这表明没有宽度已被指定。
intsmallest_screen_width_dp_undefined默认值smallestscreenwidthdp这表明没有宽度已被指定。
inttouchscreen_finger常数触摸屏的相应值, 手指资源限定符。
inttouchscreen_notouch常数触摸屏的相应值, 无接触资源限定符。
inttouchscreen_stylus这种不断的被废弃的在API级别16。目前不支持或使用。
inttouchscreen_undefined常数触摸屏:一个值表示没有值已设置。
intui_mode_night_mask常数uimode夜间模式:编码比特。
intui_mode_night_no常数uimode:一个ui_mode_night_mask价值相当于 日间资源限定符。
intui_mode_night_undefined常数uimode:一个ui_mode_night_mask值表明没有模式已设置。
intui_mode_night_yes常数uimode:一个ui_mode_night_mask价值相当于 晚上资源限定符。
intui_mode_type_appliance常数uimode:一个ui_mode_type_mask价值相当于 电器资源限定符。
intui_mode_type_car常数uimode:一个ui_mode_type_mask价值相当于 小型车资源限定符。
intui_mode_type_desk常数uimode:一个ui_mode_type_mask价值相当于 书桌资源限定符。
intui_mode_type_mask常数uimode:编码模式位。
intui_mode_type_normal常数uimode:一个ui_mode_type_mask值对应的 没有用户界面模式限定符指定的资源。
intui_mode_type_television常数uimode:一个ui_mode_type_mask价值相当于 电视机资源限定符。
intui_mode_type_undefined常数uimode:一个ui_mode_type_mask值表明没有模式已设置。