Configuration
public
final
class
Configuration
extends Object
implements
Parcelable,
Comparable<Configuration>
java.lang.Object | |
↳ | android.content.res.Configuration |
This class describes all device configuration information that can impact the resources the application retrieves. This includes both user-specified configuration options (locale list and scaling) as well as device configurations (such as input modes, screen size and screen orientation).
You can acquire this object from Resources
, using Resources.getConfiguration()
. Thus, from an activity, you can get it by chaining the request
with ContextThemeWrapper.getResources()
:
Configuration config = getResources().getConfiguration();
Summary
Constants | |
---|---|
int |
COLOR_MODE_HDR_MASK
Constant for |
int |
COLOR_MODE_HDR_NO
Constant for |
int |
COLOR_MODE_HDR_SHIFT
Constant for |
int |
COLOR_MODE_HDR_UNDEFINED
Constant for |
int |
COLOR_MODE_HDR_YES
Constant for |
int |
COLOR_MODE_UNDEFINED
Constant for |
int |
COLOR_MODE_WIDE_COLOR_GAMUT_MASK
Constant for |
int |
COLOR_MODE_WIDE_COLOR_GAMUT_NO
Constant for |
int |
COLOR_MODE_WIDE_COLOR_GAMUT_UNDEFINED
Constant for |
int |
COLOR_MODE_WIDE_COLOR_GAMUT_YES
Constant for |
int |
DENSITY_DPI_UNDEFINED
Default value for |
int |
FONT_WEIGHT_ADJUSTMENT_UNDEFINED
An undefined fontWeightAdjustment. |
int |
GRAMMATICAL_GENDER_FEMININE
Constant for grammatical gender: to indicate the terms of address the user preferred in an application is feminine. |
int |
GRAMMATICAL_GENDER_MASCULINE
Constant for grammatical gender: to indicate the terms of address the user preferred in an application is masculine. |
int |
GRAMMATICAL_GENDER_NEUTRAL
Constant for grammatical gender: to indicate the terms of address the user preferred in an application is neuter. |
int |
GRAMMATICAL_GENDER_NOT_SPECIFIED
Constant for grammatical gender: to indicate the user has not specified the terms of address for the application. |
int |
HARDKEYBOARDHIDDEN_NO
Constant for |
int |
HARDKEYBOARDHIDDEN_UNDEFINED
Constant for |
int |
HARDKEYBOARDHIDDEN_YES
Constant for |
int |
KEYBOARDHIDDEN_NO
Constant for |
int |
KEYBOARDHIDDEN_UNDEFINED
Constant for |
int |
KEYBOARDHIDDEN_YES
Constant for |
int |
KEYBOARD_12KEY
Constant for |
int |
KEYBOARD_NOKEYS
Constant for |
int |
KEYBOARD_QWERTY
Constant for |
int |
KEYBOARD_UNDEFINED
Constant for |
int |
MNC_ZERO
Constant used to to represent MNC (Mobile Network Code) zero. |
int |
NAVIGATIONHIDDEN_NO
Constant for |
int |
NAVIGATIONHIDDEN_UNDEFINED
Constant for |
int |
NAVIGATIONHIDDEN_YES
Constant for |
int |
NAVIGATION_DPAD
Constant for |
int |
NAVIGATION_NONAV
Constant for |
int |
NAVIGATION_TRACKBALL
Constant for |
int |
NAVIGATION_UNDEFINED
Constant for |
int |
NAVIGATION_WHEEL
Constant for |
int |
ORIENTATION_LANDSCAPE
Constant for |
int |
ORIENTATION_PORTRAIT
Constant for |
int |
ORIENTATION_SQUARE
This constant was deprecated in API level 16. Not currently supported or used. |
int |
ORIENTATION_UNDEFINED
Constant for |
int |
SCREENLAYOUT_LAYOUTDIR_LTR
Constant for |
int |
SCREENLAYOUT_LAYOUTDIR_MASK
Constant for |
int |
SCREENLAYOUT_LAYOUTDIR_RTL
Constant for |
int |
SCREENLAYOUT_LAYOUTDIR_SHIFT
Constant for |
int |
SCREENLAYOUT_LAYOUTDIR_UNDEFINED
Constant for |
int |
SCREENLAYOUT_LONG_MASK
Constant for |
int |
SCREENLAYOUT_LONG_NO
Constant for |
int |
SCREENLAYOUT_LONG_UNDEFINED
Constant for |
int |
SCREENLAYOUT_LONG_YES
Constant for |
int |
SCREENLAYOUT_ROUND_MASK
Constant for |
int |
SCREENLAYOUT_ROUND_NO
Constant for |
int |
SCREENLAYOUT_ROUND_UNDEFINED
Constant for |
int |
SCREENLAYOUT_ROUND_YES
Constant for |
int |
SCREENLAYOUT_SIZE_LARGE
Constant for |
int |
SCREENLAYOUT_SIZE_MASK
Constant for |
int |
SCREENLAYOUT_SIZE_NORMAL
Constant for |
int |
SCREENLAYOUT_SIZE_SMALL
Constant for |
int |
SCREENLAYOUT_SIZE_UNDEFINED
Constant for |
int |
SCREENLAYOUT_SIZE_XLARGE
Constant for |
int |
SCREENLAYOUT_UNDEFINED
Constant for |
int |
SCREEN_HEIGHT_DP_UNDEFINED
Default value for |
int |
SCREEN_WIDTH_DP_UNDEFINED
Default value for |
int |
SMALLEST_SCREEN_WIDTH_DP_UNDEFINED
Default value for |
int |
TOUCHSCREEN_FINGER
Constant for |
int |
TOUCHSCREEN_NOTOUCH
Constant for |
int |
TOUCHSCREEN_STYLUS
This constant was deprecated in API level 16. Not currently supported or used. |
int |
TOUCHSCREEN_UNDEFINED
Constant for |
int |
UI_MODE_NIGHT_MASK
Constant for |
int |
UI_MODE_NIGHT_NO
Constant for |
int |
UI_MODE_NIGHT_UNDEFINED
Constant for |
int |
UI_MODE_NIGHT_YES
Constant for |
int |
UI_MODE_TYPE_APPLIANCE
Constant for |
int |
UI_MODE_TYPE_CAR
Constant for |
int |
UI_MODE_TYPE_DESK
Constant for |
int |
UI_MODE_TYPE_MASK
Constant for |
int |
UI_MODE_TYPE_NORMAL
Constant for |
int |
UI_MODE_TYPE_TELEVISION
Constant for |
int |
UI_MODE_TYPE_UNDEFINED
Constant for |
int |
UI_MODE_TYPE_VR_HEADSET
Constant for |
int |
UI_MODE_TYPE_WATCH
Constant for |
Inherited constants |
---|
Fields | |
---|---|
public
static
final
Creator<Configuration> |
CREATOR
|
public
int |
colorMode
Bit mask of color capabilities of the screen. |
public
int |
densityDpi
The target screen density being rendered to, corresponding to density resource qualifier. |
public
float |
fontScale
Current user preference for the scaling factor for fonts, relative to the base density scaling. |
public
int |
fontWeightAdjustment
Adjustment in text font weight. |
public
int |
hardKeyboardHidden
A flag indicating whether the hard keyboard has been hidden. |
public
int |
keyboard
The kind of keyboard attached to the device. |
public
int |
keyboardHidden
A flag indicating whether any keyboard is available. |
public
Locale |
locale
This field was deprecated
in API level 24.
Do not set or read this directly. Use |
public
int |
mcc
IMSI MCC (Mobile Country Code), corresponding to mcc resource qualifier. |
public
int |
mnc
IMSI MNC (Mobile Network Code), corresponding to mnc resource qualifier. |
public
int |
navigation
The kind of navigation method available on the device. |
public
int |
navigationHidden
A flag indicating whether any 5-way or DPAD navigation available. |
public
int |
orientation
Overall orientation of the screen. |
public
int |
screenHeightDp
The height of the available screen space in dp units. |
public
int |
screenLayout
Bit mask of overall layout of the screen. |
public
int |
screenWidthDp
The width of the available screen space in dp units. |
public
int |
smallestScreenWidthDp
The smallest screen size an application will see in normal operation. |
public
int |
touchscreen
The kind of touch screen attached to the device. |
public
int |
uiMode
Bit mask of the ui mode. |
Public constructors | |
---|---|
Configuration()
Construct an invalid Configuration. |
|
Configuration(Configuration o)
Makes a deep copy suitable for modification. |
Public methods | |
---|---|
int
|
compareTo(Configuration that)
|
int
|
describeContents()
Parcelable methods |
int
|
diff(Configuration delta)
Return a bit mask of the differences between this Configuration object and the given one. |
boolean
|
equals(Configuration that)
|
boolean
|
equals(Object that)
Indicates whether some other object is "equal to" this one. |
static
Configuration
|
generateDelta(Configuration base, Configuration change)
Generate a delta Configuration between |
int
|
getGrammaticalGender()
Returns the user preference for the grammatical gender. |
int
|
getLayoutDirection()
Return the layout direction. |
LocaleList
|
getLocales()
Get the locale list. |
int
|
hashCode()
Returns a hash code value for the object. |
boolean
|
isLayoutSizeAtLeast(int size)
Check if the Configuration's current |
boolean
|
isNightModeActive()
Retuns whether the configuration is in night mode |
boolean
|
isScreenHdr()
Return whether the screen has a high dynamic range. |
boolean
|
isScreenRound()
Return whether the screen has a round shape. |
boolean
|
isScreenWideColorGamut()
Return whether the screen has a wide color gamut and wide color gamut rendering is supported by this device. |
static
boolean
|
needNewResources(int configChanges, int interestingChanges)
Determines if a new resource needs to be loaded from the bit set of
configuration changes returned by |
void
|
readFromParcel(Parcel source)
|
void
|
setLayoutDirection(Locale loc)
Set the layout direction from a Locale. |
void
|
setLocale(Locale loc)
Set the locale list to a list of just one locale. |
void
|
setLocales(LocaleList locales)
Set the locale list. |
void
|
setTo(Configuration o)
Sets the fields in this object to those in the given Configuration. |
void
|
setToDefaults()
Set this object to the system defaults. |
String
|
toString()
Returns a string representation of the object. |
int
|
updateFrom(Configuration delta)
Copies the fields from delta into this Configuration object, keeping track of which ones have changed. |
void
|
writeToParcel(Parcel dest, int flags)
Flatten this object in to a Parcel. |
Inherited methods | |
---|---|
Constants
COLOR_MODE_HDR_MASK
public static final int COLOR_MODE_HDR_MASK
Constant for colorMode
: bits that encode the dynamic range of the screen.
Constant Value: 12 (0x0000000c)
COLOR_MODE_HDR_NO
public static final int COLOR_MODE_HDR_NO
Constant for colorMode
: a COLOR_MODE_HDR_MASK
value
indicating that the screen is not HDR (low/standard dynamic range).
Corresponds to the -lowdr
resource qualifier.
Constant Value: 4 (0x00000004)
COLOR_MODE_HDR_SHIFT
public static final int COLOR_MODE_HDR_SHIFT
Constant for colorMode
: bits shift to get the screen dynamic range.
Constant Value: 2 (0x00000002)
COLOR_MODE_HDR_UNDEFINED
public static final int COLOR_MODE_HDR_UNDEFINED
Constant for colorMode
: a COLOR_MODE_HDR_MASK
value
indicating that it is unknown whether or not the screen is HDR.
Constant Value: 0 (0x00000000)
COLOR_MODE_HDR_YES
public static final int COLOR_MODE_HDR_YES
Constant for colorMode
: a COLOR_MODE_HDR_MASK
value
indicating that the screen is HDR (dynamic range).
Corresponds to the -highdr
resource qualifier.
Constant Value: 8 (0x00000008)
COLOR_MODE_UNDEFINED
public static final int COLOR_MODE_UNDEFINED
Constant for colorMode
: a value indicating that the color mode is undefined
Constant Value: 0 (0x00000000)
COLOR_MODE_WIDE_COLOR_GAMUT_MASK
public static final int COLOR_MODE_WIDE_COLOR_GAMUT_MASK
Constant for colorMode
: bits that encode whether the screen is wide gamut.
Constant Value: 3 (0x00000003)
COLOR_MODE_WIDE_COLOR_GAMUT_NO
public static final int COLOR_MODE_WIDE_COLOR_GAMUT_NO
Constant for colorMode
: a COLOR_MODE_WIDE_COLOR_GAMUT_MASK
value
indicating that the screen is not wide gamut.
Corresponds to the -nowidecg
resource qualifier.
Constant Value: 1 (0x00000001)
COLOR_MODE_WIDE_COLOR_GAMUT_UNDEFINED
public static final int COLOR_MODE_WIDE_COLOR_GAMUT_UNDEFINED
Constant for colorMode
: a COLOR_MODE_WIDE_COLOR_GAMUT_MASK
value
indicating that it is unknown whether or not the screen is wide gamut.
Constant Value: 0 (0x00000000)
COLOR_MODE_WIDE_COLOR_GAMUT_YES
public static final int COLOR_MODE_WIDE_COLOR_GAMUT_YES
Constant for colorMode
: a COLOR_MODE_WIDE_COLOR_GAMUT_MASK
value
indicating that the screen is wide gamut.
Corresponds to the -widecg
resource qualifier.
Constant Value: 2 (0x00000002)
DENSITY_DPI_UNDEFINED
public static final int DENSITY_DPI_UNDEFINED
Default value for densityDpi
indicating that no width
has been specified.
Constant Value: 0 (0x00000000)
FONT_WEIGHT_ADJUSTMENT_UNDEFINED
public static final int FONT_WEIGHT_ADJUSTMENT_UNDEFINED
An undefined fontWeightAdjustment.
Constant Value: 2147483647 (0x7fffffff)
GRAMMATICAL_GENDER_FEMININE
public static final int GRAMMATICAL_GENDER_FEMININE
Constant for grammatical gender: to indicate the terms of address the user preferred in an application is feminine.
Constant Value: 2 (0x00000002)
GRAMMATICAL_GENDER_MASCULINE
public static final int GRAMMATICAL_GENDER_MASCULINE
Constant for grammatical gender: to indicate the terms of address the user preferred in an application is masculine.
Constant Value: 3 (0x00000003)
GRAMMATICAL_GENDER_NEUTRAL
public static final int GRAMMATICAL_GENDER_NEUTRAL
Constant for grammatical gender: to indicate the terms of address the user preferred in an application is neuter.
Constant Value: 1 (0x00000001)
GRAMMATICAL_GENDER_NOT_SPECIFIED
public static final int GRAMMATICAL_GENDER_NOT_SPECIFIED
Constant for grammatical gender: to indicate the user has not specified the terms of address for the application.
Constant Value: 0 (0x00000000)
HARDKEYBOARDHIDDEN_NO
public static final int HARDKEYBOARDHIDDEN_NO
Constant for hardKeyboardHidden
, value corresponding to the
physical keyboard being exposed.
Constant Value: 1 (0x00000001)
HARDKEYBOARDHIDDEN_UNDEFINED
public static final int HARDKEYBOARDHIDDEN_UNDEFINED
Constant for hardKeyboardHidden
: a value indicating that no value has been set.
Constant Value: 0 (0x00000000)
HARDKEYBOARDHIDDEN_YES
public static final int HARDKEYBOARDHIDDEN_YES
Constant for hardKeyboardHidden
, value corresponding to the
physical keyboard being hidden.
Constant Value: 2 (0x00000002)
KEYBOARDHIDDEN_NO
public static final int KEYBOARDHIDDEN_NO
Constant for keyboardHidden
, value corresponding to the
keysexposed
resource qualifier.
Constant Value: 1 (0x00000001)
KEYBOARDHIDDEN_UNDEFINED
public static final int KEYBOARDHIDDEN_UNDEFINED
Constant for keyboardHidden
: a value indicating that no value has been set.
Constant Value: 0 (0x00000000)
KEYBOARDHIDDEN_YES
public static final int KEYBOARDHIDDEN_YES
Constant for keyboardHidden
, value corresponding to the
keyshidden
resource qualifier.
Constant Value: 2 (0x00000002)
KEYBOARD_12KEY
public static final int KEYBOARD_12KEY
Constant for keyboard
, value corresponding to the
12key
resource qualifier.
Constant Value: 3 (0x00000003)
KEYBOARD_NOKEYS
public static final int KEYBOARD_NOKEYS
Constant for keyboard
, value corresponding to the
nokeys
resource qualifier.
Constant Value: 1 (0x00000001)
KEYBOARD_QWERTY
public static final int KEYBOARD_QWERTY
Constant for keyboard
, value corresponding to the
qwerty
resource qualifier.
Constant Value: 2 (0x00000002)
KEYBOARD_UNDEFINED
public static final int KEYBOARD_UNDEFINED
Constant for keyboard
: a value indicating that no value has been set.
Constant Value: 0 (0x00000000)
MNC_ZERO
public static final int MNC_ZERO
Constant used to to represent MNC (Mobile Network Code) zero. 0 cannot be used, since it is used to represent an undefined MNC.
Constant Value: 65535 (0x0000ffff)
NAVIGATIONHIDDEN_NO
public static final int NAVIGATIONHIDDEN_NO
Constant for navigationHidden
, value corresponding to the
navexposed
resource qualifier.
Constant Value: 1 (0x00000001)
NAVIGATIONHIDDEN_UNDEFINED
public static final int NAVIGATIONHIDDEN_UNDEFINED
Constant for navigationHidden
: a value indicating that no value has been set.
Constant Value: 0 (0x00000000)
NAVIGATIONHIDDEN_YES
public static final int NAVIGATIONHIDDEN_YES
Constant for navigationHidden
, value corresponding to the
navhidden
resource qualifier.
Constant Value: 2 (0x00000002)
NAVIGATION_DPAD
public static final int NAVIGATION_DPAD
Constant for navigation
, value corresponding to the
dpad
resource qualifier.
Constant Value: 2 (0x00000002)
NAVIGATION_NONAV
public static final int NAVIGATION_NONAV
Constant for navigation
, value corresponding to the
nonav
resource qualifier.
Constant Value: 1 (0x00000001)
NAVIGATION_TRACKBALL
public static final int NAVIGATION_TRACKBALL
Constant for navigation
, value corresponding to the
trackball
resource qualifier.
Constant Value: 3 (0x00000003)
NAVIGATION_UNDEFINED
public static final int NAVIGATION_UNDEFINED
Constant for navigation
: a value indicating that no value has been set.
Constant Value: 0 (0x00000000)
NAVIGATION_WHEEL
public static final int NAVIGATION_WHEEL
Constant for navigation
, value corresponding to the
wheel
resource qualifier.
Constant Value: 4 (0x00000004)
ORIENTATION_LANDSCAPE
public static final int ORIENTATION_LANDSCAPE
Constant for orientation
, value corresponding to the
land
resource qualifier.
Constant Value: 2 (0x00000002)
ORIENTATION_PORTRAIT
public static final int ORIENTATION_PORTRAIT
Constant for orientation
, value corresponding to the
port
resource qualifier.
Constant Value: 1 (0x00000001)
ORIENTATION_SQUARE
public static final int ORIENTATION_SQUARE
This constant was deprecated
in API level 16.
Not currently supported or used.
Constant Value: 3 (0x00000003)
ORIENTATION_UNDEFINED
public static final int ORIENTATION_UNDEFINED
Constant for orientation
: a value indicating that no value has been set.
Constant Value: 0 (0x00000000)
SCREENLAYOUT_LAYOUTDIR_LTR
public static final int SCREENLAYOUT_LAYOUTDIR_LTR
Constant for screenLayout
: a SCREENLAYOUT_LAYOUTDIR_MASK
value indicating that a layout dir has been set to LTR.
Constant Value: 64 (0x00000040)
SCREENLAYOUT_LAYOUTDIR_MASK
public static final int SCREENLAYOUT_LAYOUTDIR_MASK
Constant for screenLayout
: bits that encode the layout direction.
Constant Value: 192 (0x000000c0)
SCREENLAYOUT_LAYOUTDIR_RTL
public static final int SCREENLAYOUT_LAYOUTDIR_RTL
Constant for screenLayout
: a SCREENLAYOUT_LAYOUTDIR_MASK
value indicating that a layout dir has been set to RTL.
Constant Value: 128 (0x00000080)
SCREENLAYOUT_LAYOUTDIR_SHIFT
public static final int SCREENLAYOUT_LAYOUTDIR_SHIFT
Constant for screenLayout
: bits shift to get the layout direction.
Constant Value: 6 (0x00000006)
SCREENLAYOUT_LAYOUTDIR_UNDEFINED
public static final int SCREENLAYOUT_LAYOUTDIR_UNDEFINED
Constant for screenLayout
: a SCREENLAYOUT_LAYOUTDIR_MASK
value indicating that no layout dir has been set.
Constant Value: 0 (0x00000000)
SCREENLAYOUT_LONG_MASK
public static final int SCREENLAYOUT_LONG_MASK
Constant for screenLayout
: bits that encode the aspect ratio.
Constant Value: 48 (0x00000030)
SCREENLAYOUT_LONG_NO
public static final int SCREENLAYOUT_LONG_NO
Constant for screenLayout
: a SCREENLAYOUT_LONG_MASK
value that corresponds to the
notlong
resource qualifier.
Constant Value: 16 (0x00000010)
SCREENLAYOUT_LONG_UNDEFINED
public static final int SCREENLAYOUT_LONG_UNDEFINED
Constant for screenLayout
: a SCREENLAYOUT_LONG_MASK
value indicating that no size has been set.
Constant Value: 0 (0x00000000)
SCREENLAYOUT_LONG_YES
public static final int SCREENLAYOUT_LONG_YES
Constant for screenLayout
: a SCREENLAYOUT_LONG_MASK
value that corresponds to the
long
resource qualifier.
Constant Value: 32 (0x00000020)
SCREENLAYOUT_ROUND_MASK
public static final int SCREENLAYOUT_ROUND_MASK
Constant for screenLayout
: bits that encode roundness of the screen.
Constant Value: 768 (0x00000300)
SCREENLAYOUT_ROUND_NO
public static final int SCREENLAYOUT_ROUND_NO
Constant for screenLayout
: a SCREENLAYOUT_ROUND_MASK
value indicating
that the screen does not have a rounded shape.
Constant Value: 256 (0x00000100)
SCREENLAYOUT_ROUND_UNDEFINED
public static final int SCREENLAYOUT_ROUND_UNDEFINED
Constant for screenLayout
: a SCREENLAYOUT_ROUND_MASK
value indicating
that it is unknown whether or not the screen has a round shape.
Constant Value: 0 (0x00000000)
SCREENLAYOUT_ROUND_YES
public static final int SCREENLAYOUT_ROUND_YES
Constant for screenLayout
: a SCREENLAYOUT_ROUND_MASK
value indicating
that the screen has a rounded shape. Corners may not be visible to the user;
developers should pay special attention to the WindowInsets
delivered
to views for more information about ensuring content is not obscured.
Corresponds to the -round
resource qualifier.
Constant Value: 512 (0x00000200)
SCREENLAYOUT_SIZE_LARGE
public static final int SCREENLAYOUT_SIZE_LARGE
Constant for screenLayout
: a SCREENLAYOUT_SIZE_MASK
value indicating the screen is at least approximately 480x640 dp units,
corresponds to the
large
resource qualifier.
See Supporting
Multiple Screens for more information.
Constant Value: 3 (0x00000003)
SCREENLAYOUT_SIZE_MASK
public static final int SCREENLAYOUT_SIZE_MASK
Constant for screenLayout
: bits that encode the size.
Constant Value: 15 (0x0000000f)
SCREENLAYOUT_SIZE_NORMAL
public static final int SCREENLAYOUT_SIZE_NORMAL
Constant for screenLayout
: a SCREENLAYOUT_SIZE_MASK
value indicating the screen is at least approximately 320x470 dp units,
corresponds to the
normal
resource qualifier.
See Supporting
Multiple Screens for more information.
Constant Value: 2 (0x00000002)
SCREENLAYOUT_SIZE_SMALL
public static final int SCREENLAYOUT_SIZE_SMALL
Constant for screenLayout
: a SCREENLAYOUT_SIZE_MASK
value indicating the screen is at least approximately 320x426 dp units,
corresponds to the
small
resource qualifier.
See Supporting
Multiple Screens for more information.
Constant Value: 1 (0x00000001)
SCREENLAYOUT_SIZE_UNDEFINED
public static final int SCREENLAYOUT_SIZE_UNDEFINED
Constant for screenLayout
: a SCREENLAYOUT_SIZE_MASK
value indicating that no size has been set.
Constant Value: 0 (0x00000000)
SCREENLAYOUT_SIZE_XLARGE
public static final int SCREENLAYOUT_SIZE_XLARGE
Constant for screenLayout
: a SCREENLAYOUT_SIZE_MASK
value indicating the screen is at least approximately 720x960 dp units,
corresponds to the
xlarge
resource qualifier.
See Supporting
Multiple Screens for more information.
Constant Value: 4 (0x00000004)
SCREENLAYOUT_UNDEFINED
public static final int SCREENLAYOUT_UNDEFINED
Constant for screenLayout
: a value indicating that screenLayout is undefined
Constant Value: 0 (0x00000000)
SCREEN_HEIGHT_DP_UNDEFINED
public static final int SCREEN_HEIGHT_DP_UNDEFINED
Default value for screenHeightDp
indicating that no width
has been specified.
Constant Value: 0 (0x00000000)
SCREEN_WIDTH_DP_UNDEFINED
public static final int SCREEN_WIDTH_DP_UNDEFINED
Default value for screenWidthDp
indicating that no width
has been specified.
Constant Value: 0 (0x00000000)
SMALLEST_SCREEN_WIDTH_DP_UNDEFINED
public static final int SMALLEST_SCREEN_WIDTH_DP_UNDEFINED
Default value for smallestScreenWidthDp
indicating that no width
has been specified.
Constant Value: 0 (0x00000000)
TOUCHSCREEN_FINGER
public static final int TOUCHSCREEN_FINGER
Constant for touchscreen
, value corresponding to the
finger
resource qualifier.
Constant Value: 3 (0x00000003)
TOUCHSCREEN_NOTOUCH
public static final int TOUCHSCREEN_NOTOUCH
Constant for touchscreen
, value corresponding to the
notouch
resource qualifier.
Constant Value: 1 (0x00000001)
TOUCHSCREEN_STYLUS
public static final int TOUCHSCREEN_STYLUS
This constant was deprecated
in API level 16.
Not currently supported or used.
Constant Value: 2 (0x00000002)
TOUCHSCREEN_UNDEFINED
public static final int TOUCHSCREEN_UNDEFINED
Constant for touchscreen
: a value indicating that no value has been set.
Constant Value: 0 (0x00000000)
UI_MODE_NIGHT_MASK
public static final int UI_MODE_NIGHT_MASK
Constant for uiMode
: bits that encode the night mode.
Constant Value: 48 (0x00000030)
UI_MODE_NIGHT_NO
public static final int UI_MODE_NIGHT_NO
Constant for uiMode
: a UI_MODE_NIGHT_MASK
value that corresponds to the
notnight
resource qualifier.
Constant Value: 16 (0x00000010)
UI_MODE_NIGHT_UNDEFINED
public static final int UI_MODE_NIGHT_UNDEFINED
Constant for uiMode
: a UI_MODE_NIGHT_MASK
value indicating that no mode type has been set.
Constant Value: 0 (0x00000000)
UI_MODE_NIGHT_YES
public static final int UI_MODE_NIGHT_YES
Constant for uiMode
: a UI_MODE_NIGHT_MASK
value that corresponds to the
night
resource qualifier.
Constant Value: 32 (0x00000020)
UI_MODE_TYPE_APPLIANCE
public static final int UI_MODE_TYPE_APPLIANCE
Constant for uiMode
: a UI_MODE_TYPE_MASK
value that corresponds to the
appliance
resource qualifier.
Constant Value: 5 (0x00000005)
UI_MODE_TYPE_CAR
public static final int UI_MODE_TYPE_CAR
Constant for uiMode
: a UI_MODE_TYPE_MASK
value that corresponds to the
car
resource qualifier.
Constant Value: 3 (0x00000003)
UI_MODE_TYPE_DESK
public static final int UI_MODE_TYPE_DESK
Constant for uiMode
: a UI_MODE_TYPE_MASK
value that corresponds to the
desk
resource qualifier.
Constant Value: 2 (0x00000002)
UI_MODE_TYPE_MASK
public static final int UI_MODE_TYPE_MASK
Constant for uiMode
: bits that encode the mode type.
Constant Value: 15 (0x0000000f)
UI_MODE_TYPE_NORMAL
public static final int UI_MODE_TYPE_NORMAL
Constant for uiMode
: a UI_MODE_TYPE_MASK
value that corresponds to
no
UI mode resource qualifier specified.
Constant Value: 1 (0x00000001)
UI_MODE_TYPE_TELEVISION
public static final int UI_MODE_TYPE_TELEVISION
Constant for uiMode
: a UI_MODE_TYPE_MASK
value that corresponds to the
television
resource qualifier.
Constant Value: 4 (0x00000004)
UI_MODE_TYPE_UNDEFINED
public static final int UI_MODE_TYPE_UNDEFINED
Constant for uiMode
: a UI_MODE_TYPE_MASK
value indicating that no mode type has been set.
Constant Value: 0 (0x00000000)
UI_MODE_TYPE_VR_HEADSET
public static final int UI_MODE_TYPE_VR_HEADSET
Constant for uiMode
: a UI_MODE_TYPE_MASK
value that corresponds to the
vrheadset
resource qualifier.
Constant Value: 7 (0x00000007)
UI_MODE_TYPE_WATCH
public static final int UI_MODE_TYPE_WATCH
Constant for uiMode
: a UI_MODE_TYPE_MASK
value that corresponds to the
watch
resource qualifier.
Constant Value: 6 (0x00000006)
Fields
colorMode
public int colorMode
Bit mask of color capabilities of the screen. Currently there are two fields:
The COLOR_MODE_WIDE_COLOR_GAMUT_MASK
bits define the color gamut of
the screen. They may be one of
COLOR_MODE_WIDE_COLOR_GAMUT_NO
or COLOR_MODE_WIDE_COLOR_GAMUT_YES
.
The COLOR_MODE_HDR_MASK
defines the dynamic range of the screen. They may be
one of COLOR_MODE_HDR_NO
or COLOR_MODE_HDR_YES
.
See Supporting Multiple Screens for more information.
densityDpi
public int densityDpi
The target screen density being rendered to,
corresponding to
density
resource qualifier. Set to
DENSITY_DPI_UNDEFINED
if no density is specified.
fontScale
public float fontScale
Current user preference for the scaling factor for fonts, relative to the base density scaling.
Note: Please do not use this to hardcode font size equations. The equation for font scaling is now non-linear; this coefficient is no longer used as a direct multiplier to determine font size. It exists for informational purposes only.
Please use TypedValue.applyDimension(int, float, DisplayMetrics)
or
TypedValue.deriveDimension(int, float, DisplayMetrics)
to convert
between scaled font size dimensions and pixels.
fontWeightAdjustment
public int fontWeightAdjustment
Adjustment in text font weight. Used to reflect the current user preference for increasing font weight.
If the text font weight is less than the minimum of 1, 1 will be used. If the font weight exceeds the maximum of 1000, 1000 will be used.
hardKeyboardHidden
public int hardKeyboardHidden
A flag indicating whether the hard keyboard has been hidden. This will
be set on a device with a mechanism to hide the keyboard from the
user, when that mechanism is closed. One of:
HARDKEYBOARDHIDDEN_NO
, HARDKEYBOARDHIDDEN_YES
.
keyboard
public int keyboard
The kind of keyboard attached to the device.
One of: KEYBOARD_NOKEYS
, KEYBOARD_QWERTY
,
KEYBOARD_12KEY
.
keyboardHidden
public int keyboardHidden
A flag indicating whether any keyboard is available. Unlike
hardKeyboardHidden
, this also takes into account a soft
keyboard, so if the hard keyboard is hidden but there is soft
keyboard available, it will be set to NO. Value is one of:
KEYBOARDHIDDEN_NO
, KEYBOARDHIDDEN_YES
.
locale
public Locale locale
This field was deprecated
in API level 24.
Do not set or read this directly. Use getLocales()
and
setLocales(android.os.LocaleList)
. If only the primary locale is needed,
getLocales().get(0)
is now the preferred accessor.
Current user preference for the locale, corresponding to locale resource qualifier.
mcc
public int mcc
IMSI MCC (Mobile Country Code), corresponding to mcc resource qualifier. 0 if undefined.
mnc
public int mnc
IMSI MNC (Mobile Network Code), corresponding to
mnc
resource qualifier. 0 if undefined. Note that the actual MNC may be 0; in order to check
for this use the MNC_ZERO
symbol.
navigation
public int navigation
The kind of navigation method available on the device.
One of: NAVIGATION_NONAV
, NAVIGATION_DPAD
,
NAVIGATION_TRACKBALL
, NAVIGATION_WHEEL
.
navigationHidden
public int navigationHidden
A flag indicating whether any 5-way or DPAD navigation available.
This will be set on a device with a mechanism to hide the navigation
controls from the user, when that mechanism is closed. One of:
NAVIGATIONHIDDEN_NO
, NAVIGATIONHIDDEN_YES
.
orientation
public int orientation
Overall orientation of the screen. May be one of
ORIENTATION_LANDSCAPE
, ORIENTATION_PORTRAIT
.
Value is ORIENTATION_UNDEFINED
, ORIENTATION_PORTRAIT
, ORIENTATION_LANDSCAPE
, or ORIENTATION_SQUARE
screenHeightDp
public int screenHeightDp
The height of the available screen space in dp units.
Use WindowMetrics.getBounds()
to always obtain the vertical
display area available to an app or embedded activity including the area
occupied by window insets. A version of the API is also available for use on older platforms
through WindowMetrics
.
Corresponds to the
available height resource qualifier. Defaults to
SCREEN_HEIGHT_DP_UNDEFINED
if no height is specified.
In multi-window mode, equals the height of the available display area of the app window, not the available display area of the device screen (for example, when apps are displayed one above another in split-screen mode in portrait orientation).
For embedded activities, equals the height of the individual activities, not the height of the app window or the device screen.
In multiple-screen scenarios, the height measurement can span screens.
For example, if the app is spanning both screens of a dual-screen device
rotated 90 degrees (one screen above the other), screenHeightDp
represents the height of both screens excluding the area occupied by
window insets. When the app is restricted to a single screen in a
multiple-screen environment, screenHeightDp
is the height of the
screen on which the app is displayed excluding window insets.
If the app targets Build.VERSION_CODES.VANILLA_ICE_CREAM
or after,
it is the same as WindowMetrics
, but is expressed rounded to the nearest
dp rather than px.
Otherwise, differs from WindowMetrics
by not including
window insets in the height measurement and by expressing the measurement
in dp rather than px. Use screenHeightDp
to obtain the height of
the display area available to an app or embedded activity excluding the
area occupied by window insets.
screenLayout
public int screenLayout
Bit mask of overall layout of the screen. Currently there are four fields:
The SCREENLAYOUT_SIZE_MASK
bits define the overall size
of the screen. They may be one of
SCREENLAYOUT_SIZE_SMALL
, SCREENLAYOUT_SIZE_NORMAL
,
SCREENLAYOUT_SIZE_LARGE
, or SCREENLAYOUT_SIZE_XLARGE
.
The SCREENLAYOUT_LONG_MASK
defines whether the screen
is wider/taller than normal. They may be one of
SCREENLAYOUT_LONG_NO
or SCREENLAYOUT_LONG_YES
.
The SCREENLAYOUT_LAYOUTDIR_MASK
defines whether the screen layout
is either LTR or RTL. They may be one of
SCREENLAYOUT_LAYOUTDIR_LTR
or SCREENLAYOUT_LAYOUTDIR_RTL
.
The SCREENLAYOUT_ROUND_MASK
defines whether the screen has a rounded
shape. They may be one of SCREENLAYOUT_ROUND_NO
or SCREENLAYOUT_ROUND_YES
.
See Supporting Multiple Screens for more information.
screenWidthDp
public int screenWidthDp
The width of the available screen space in dp units.
Use WindowMetrics.getBounds()
to always obtain the horizontal
display area available to an app or embedded activity including the area
occupied by window insets. A version of the API is also available for use on older platforms
through WindowMetrics
.
Corresponds to the
available width resource qualifier. Defaults to
SCREEN_WIDTH_DP_UNDEFINED
if no width is specified.
In multi-window mode, equals the width of the available display area of the app window, not the available display area of the device screen (for example, when apps are displayed side by side in split-screen mode in landscape orientation).
For embedded activities, equals the width of the individual activities, not the width of the app window or the device screen.
In multiple-screen scenarios, the width measurement can span screens.
For example, if the app is spanning both screens of a dual-screen device
(with the screens side by side), screenWidthDp
represents the
width of both screens excluding the area occupied by window insets. When
the app is restricted to a single screen in a multiple-screen
environment, screenWidthDp
is the width of the screen on which
the app is displayed excluding window insets.
If the app targets Build.VERSION_CODES.VANILLA_ICE_CREAM
or after,
it is the same as WindowMetrics
, but is expressed rounded to the nearest
dp rather than px.
Otherwise, differs from WindowMetrics
by not including
window insets in the width measurement and by expressing the measurement
in dp rather than px. Use screenWidthDp
to obtain the width of
the display area available to an app or embedded activity excluding the
area occupied by window insets.
smallestScreenWidthDp
public int smallestScreenWidthDp
The smallest screen size an application will see in normal operation.
Corresponds to the
smallest width resource qualifier. This is the smallest value of
screenWidthDp
and screenHeightDp
in both portrait and
landscape orientations. Defaults to
SMALLEST_SCREEN_WIDTH_DP_UNDEFINED
if no width is specified.
touchscreen
public int touchscreen
The kind of touch screen attached to the device.
One of: TOUCHSCREEN_NOTOUCH
, TOUCHSCREEN_FINGER
.
uiMode
public int uiMode
Bit mask of the ui mode. Currently there are two fields:
The UI_MODE_TYPE_MASK
bits define the overall ui mode of the
device. They may be one of UI_MODE_TYPE_UNDEFINED
,
UI_MODE_TYPE_NORMAL
, UI_MODE_TYPE_DESK
,
UI_MODE_TYPE_CAR
, UI_MODE_TYPE_TELEVISION
,
UI_MODE_TYPE_APPLIANCE
, UI_MODE_TYPE_WATCH
,
or UI_MODE_TYPE_VR_HEADSET
.
The UI_MODE_NIGHT_MASK
defines whether the screen
is in a special mode. They may be one of UI_MODE_NIGHT_UNDEFINED
,
UI_MODE_NIGHT_NO
or UI_MODE_NIGHT_YES
.
Public constructors
Configuration
public Configuration ()
Construct an invalid Configuration. This state is only suitable for constructing a
Configuration delta that will be applied to some valid Configuration object. In order to
create a valid standalone Configuration, you must call setToDefaults()
.
Example:
Configuration validConfig = new Configuration(); validConfig.setToDefaults(); Configuration deltaOnlyConfig = new Configuration(); deltaOnlyConfig.orientation = Configuration.ORIENTATION_LANDSCAPE; validConfig.updateFrom(deltaOnlyConfig);
Configuration
public Configuration (Configuration o)
Makes a deep copy suitable for modification.
Parameters | |
---|---|
o |
Configuration |
Public methods
compareTo
public int compareTo (Configuration that)
Parameters | |
---|---|
that |
Configuration |
Returns | |
---|---|
int |
describeContents
public int describeContents ()
Parcelable methods
Returns | |
---|---|
int |
a bitmask indicating the set of special object types marshaled
by this Parcelable object instance.
Value is either 0 or CONTENTS_FILE_DESCRIPTOR |
diff
public int diff (Configuration delta)
Return a bit mask of the differences between this Configuration object and the given one. Does not change the values of either. Any undefined fields in delta are ignored.
Parameters | |
---|---|
delta |
Configuration |
Returns | |
---|---|
int |
Returns a bit mask indicating which configuration
values have changed.
Value is either 0 or a combination of ActivityInfo.CONFIG_MCC , ActivityInfo.CONFIG_MNC , ActivityInfo.CONFIG_LOCALE , ActivityInfo.CONFIG_TOUCHSCREEN , ActivityInfo.CONFIG_KEYBOARD , ActivityInfo.CONFIG_KEYBOARD_HIDDEN , ActivityInfo.CONFIG_NAVIGATION , ActivityInfo.CONFIG_ORIENTATION , ActivityInfo.CONFIG_SCREEN_LAYOUT , ActivityInfo.CONFIG_UI_MODE , ActivityInfo.CONFIG_SCREEN_SIZE , ActivityInfo.CONFIG_SMALLEST_SCREEN_SIZE , ActivityInfo.CONFIG_DENSITY , ActivityInfo.CONFIG_LAYOUT_DIRECTION , ActivityInfo.CONFIG_COLOR_MODE , ActivityInfo.CONFIG_FONT_SCALE , and ActivityInfo.CONFIG_GRAMMATICAL_GENDER |
equals
public boolean equals (Configuration that)
Parameters | |
---|---|
that |
Configuration |
Returns | |
---|---|
boolean |
equals
public boolean equals (Object that)
Indicates whether some other object is "equal to" this one.
The equals
method implements an equivalence relation
on non-null object references:
- It is reflexive: for any non-null reference value
x
,x.equals(x)
should returntrue
. - It is symmetric: for any non-null reference values
x
andy
,x.equals(y)
should returntrue
if and only ify.equals(x)
returnstrue
. - It is transitive: for any non-null reference values
x
,y
, andz
, ifx.equals(y)
returnstrue
andy.equals(z)
returnstrue
, thenx.equals(z)
should returntrue
. - It is consistent: for any non-null reference values
x
andy
, multiple invocations ofx.equals(y)
consistently returntrue
or consistently returnfalse
, provided no information used inequals
comparisons on the objects is modified. - For any non-null reference value
x
,x.equals(null)
should returnfalse
.
An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.
Parameters | |
---|---|
that |
Object : This value may be null . |
Returns | |
---|---|
boolean |
true if this object is the same as the obj
argument; false otherwise. |
generateDelta
public static Configuration generateDelta (Configuration base, Configuration change)
Generate a delta Configuration between base
and change
. The
resulting delta can be used with updateFrom(android.content.res.Configuration)
.
updateFrom(android.content.res.Configuration)
will treat it as a no-op and not update that member.
This is fine for device configurations as no member is ever undefined.
Parameters | |
---|---|
base |
Configuration : This value cannot be null . |
change |
Configuration : This value cannot be null . |
Returns | |
---|---|
Configuration |
This value cannot be null . |
getGrammaticalGender
public int getGrammaticalGender ()
Returns the user preference for the grammatical gender. Will be
GRAMMATICAL_GENDER_NOT_SPECIFIED
or
GRAMMATICAL_GENDER_NEUTRAL
or
GRAMMATICAL_GENDER_FEMININE
or
GRAMMATICAL_GENDER_MASCULINE
.
Returns | |
---|---|
int |
The preferred grammatical gender.
Value is GRAMMATICAL_GENDER_NOT_SPECIFIED , GRAMMATICAL_GENDER_NEUTRAL , GRAMMATICAL_GENDER_FEMININE , or GRAMMATICAL_GENDER_MASCULINE |
getLayoutDirection
public int getLayoutDirection ()
Return the layout direction. Will be either View#LAYOUT_DIRECTION_LTR
or
View#LAYOUT_DIRECTION_RTL
.
Returns | |
---|---|
int |
Returns View#LAYOUT_DIRECTION_RTL if the configuration
is SCREENLAYOUT_LAYOUTDIR_RTL , otherwise View#LAYOUT_DIRECTION_LTR . |
getLocales
public LocaleList getLocales ()
Get the locale list. This is the preferred way for getting the locales (instead of using
the direct accessor to locale
, which would only provide the primary locale).
Returns | |
---|---|
LocaleList |
The locale list.
This value cannot be null . |
hashCode
public int hashCode ()
Returns a hash code value for the object. This method is
supported for the benefit of hash tables such as those provided by
HashMap
.
The general contract of hashCode
is:
- Whenever it is invoked on the same object more than once during
an execution of a Java application, the
hashCode
method must consistently return the same integer, provided no information used inequals
comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application. - If two objects are equal according to the
equals
method, then calling thehashCode
method on each of the two objects must produce the same integer result. - It is not required that if two objects are unequal
according to the
equals
method, then calling thehashCode
method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.
Returns | |
---|---|
int |
a hash code value for this object. |
isLayoutSizeAtLeast
public boolean isLayoutSizeAtLeast (int size)
Check if the Configuration's current screenLayout
is at
least the given size.
Parameters | |
---|---|
size |
int : The desired size, either SCREENLAYOUT_SIZE_SMALL ,
SCREENLAYOUT_SIZE_NORMAL , SCREENLAYOUT_SIZE_LARGE , or
SCREENLAYOUT_SIZE_XLARGE . |
Returns | |
---|---|
boolean |
Returns true if the current screen layout size is at least the given size. |
isNightModeActive
public boolean isNightModeActive ()
Retuns whether the configuration is in night mode
Returns | |
---|---|
boolean |
true if night mode is active and false otherwise |
isScreenHdr
public boolean isScreenHdr ()
Return whether the screen has a high dynamic range.
Returns | |
---|---|
boolean |
true if the screen has a high dynamic range, false otherwise |
isScreenRound
public boolean isScreenRound ()
Return whether the screen has a round shape. Apps may choose to change styling based on this property, such as the alignment or layout of text or informational icons.
Returns | |
---|---|
boolean |
true if the screen is rounded, false otherwise |
isScreenWideColorGamut
public boolean isScreenWideColorGamut ()
Return whether the screen has a wide color gamut and wide color gamut rendering is supported by this device. When true, it implies the screen is colorspace aware but not necessarily color-managed. The final colors may still be changed by the screen depending on user settings.
Returns | |
---|---|
boolean |
true if the screen has a wide color gamut and wide color gamut rendering is supported, false otherwise |
needNewResources
public static boolean needNewResources (int configChanges, int interestingChanges)
Determines if a new resource needs to be loaded from the bit set of
configuration changes returned by updateFrom(android.content.res.Configuration)
.
Returns | |
---|---|
boolean |
true if the resource needs to be loaded, false
otherwise |
readFromParcel
public void readFromParcel (Parcel source)
Parameters | |
---|---|
source |
Parcel |
setLayoutDirection
public void setLayoutDirection (Locale loc)
Set the layout direction from a Locale.
Parameters | |
---|---|
loc |
Locale : The Locale. If null will set the layout direction to
View#LAYOUT_DIRECTION_LTR . If not null will set it to the layout direction
corresponding to the Locale. |
setLocale
public void setLocale (Locale loc)
Set the locale list to a list of just one locale. This will also set the layout direction
according to the locale.
Note that after this is run, calling .equals()
on the input locale and the
locale
attribute would return true
if they are not null, but there is
no guarantee that they would be the same object.
See also the note about layout direction in setLocales(android.os.LocaleList)
.
Parameters | |
---|---|
loc |
Locale : The locale. Can be null. |
setLocales
public void setLocales (LocaleList locales)
Set the locale list. This is the preferred way for setting up the locales (instead of using
the direct accessor or setLocale(java.util.Locale)
). This will also set the layout direction
according to the first locale in the list.
Note that the layout direction will always come from the first locale in the locale list,
even if the locale is not supported by the resources (the resources may only support
another locale further down the list which has a different direction).
Parameters | |
---|---|
locales |
LocaleList : The locale list. If null, an empty LocaleList will be assigned. |
setTo
public void setTo (Configuration o)
Sets the fields in this object to those in the given Configuration.
Parameters | |
---|---|
o |
Configuration : The Configuration object used to set the values of this Configuration's fields. |
setToDefaults
public void setToDefaults ()
Set this object to the system defaults.
toString
public String toString ()
Returns a string representation of the object.
Returns | |
---|---|
String |
a string representation of the object. |
updateFrom
public int updateFrom (Configuration delta)
Copies the fields from delta into this Configuration object, keeping
track of which ones have changed. Any undefined fields in delta
are ignored and not copied in to the current Configuration.
Parameters | |
---|---|
delta |
Configuration : This value cannot be null . |
writeToParcel
public void writeToParcel (Parcel dest, int flags)
Flatten this object in to a Parcel.
Parameters | |
---|---|
dest |
Parcel : The Parcel in which the object should be written.
This value cannot be null . |
flags |
int : Additional flags about how the object should be written.
May be 0 or Parcelable.PARCELABLE_WRITE_RETURN_VALUE .
Value is either 0 or a combination of Parcelable.PARCELABLE_WRITE_RETURN_VALUE , and android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES |