Configuration
class Configuration : Parcelable, Comparable<Configuration!>
kotlin.Any | |
↳ | 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 android.content.res.Resources#getConfiguration
. Thus, from an activity, you can get it by chaining the request with android.app.Activity#getResources:
Configuration config = getResources().getConfiguration();
Summary
Constants | |
---|---|
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Default value for |
static Int |
An undefined fontWeightAdjustment. |
static Int |
Constant for grammatical gender: to indicate the terms of address the user preferred in an application is feminine. |
static Int |
Constant for grammatical gender: to indicate the terms of address the user preferred in an application is masculine. |
static Int |
Constant for grammatical gender: to indicate the terms of address the user preferred in an application is neuter. |
static Int |
Constant for grammatical gender: to indicate the user has not specified the terms of address for the application. |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant used to to represent MNC (Mobile Network Code) zero. |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant for |
static Int | |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Default value for |
static Int |
Default value for |
static Int |
Default value for |
static Int |
Constant for |
static Int |
Constant for |
static Int | |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant for |
static Int |
Constant for |
Inherited constants | |
---|---|
Public constructors | |
---|---|
Construct an invalid Configuration. |
|
Makes a deep copy suitable for modification. |
Public methods | |
---|---|
Int |
compareTo(other: Configuration!) |
Int |
Parcelable methods |
Int |
diff(delta: Configuration!) Return a bit mask of the differences between this Configuration object and the given one. |
Boolean |
equals(that: Configuration!) |
Boolean |
Indicates whether some other object is "equal to" this one. |
static Configuration |
generateDelta(base: Configuration, change: Configuration) Generate a delta Configuration between |
Int |
Returns the user preference for the grammatical gender. |
Int |
Return the layout direction. |
LocaleList |
Get the locale list. |
Int |
hashCode() |
Boolean |
isLayoutSizeAtLeast(size: Int) Check if the Configuration's current |
Boolean |
Retuns whether the configuration is in night mode |
Boolean |
Return whether the screen has a high dynamic range. |
Boolean |
Return whether the screen has a round shape. |
Boolean |
Return whether the screen has a wide color gamut and wide color gamut rendering is supported by this device. |
static Boolean |
needNewResources(configChanges: Int, interestingChanges: Int) Determines if a new resource needs to be loaded from the bit set of configuration changes returned by |
Unit |
readFromParcel(source: Parcel!) |
Unit |
setLayoutDirection(loc: Locale!) Set the layout direction from a Locale. |
Unit |
Set the locale list to a list of just one locale. |
Unit |
setLocales(locales: LocaleList?) Set the locale list. |
Unit |
setTo(o: Configuration!) Sets the fields in this object to those in the given Configuration. |
Unit |
Set this object to the system defaults. |
String |
toString() |
Int |
updateFrom(delta: Configuration) Copies the fields from delta into this Configuration object, keeping track of which ones have changed. |
Unit |
writeToParcel(dest: Parcel, flags: Int) |
Properties | |
---|---|
static Parcelable.Creator<Configuration!> | |
Int |
Bit mask of color capabilities of the screen. |
Int |
The target screen density being rendered to, corresponding to density resource qualifier. |
Float |
Current user preference for the scaling factor for fonts, relative to the base density scaling. |
Int |
Adjustment in text font weight. |
Int |
A flag indicating whether the hard keyboard has been hidden. |
Int |
The kind of keyboard attached to the device. |
Int |
A flag indicating whether any keyboard is available. |
Locale! |
Current user preference for the locale, corresponding to locale resource qualifier. |
Int |
IMSI MCC (Mobile Country Code), corresponding to mcc resource qualifier. |
Int |
IMSI MNC (Mobile Network Code), corresponding to mnc resource qualifier. |
Int |
The kind of navigation method available on the device. |
Int |
A flag indicating whether any 5-way or DPAD navigation available. |
Int |
Overall orientation of the screen. |
Int |
The height of the available screen space in dp units. |
Int |
Bit mask of overall layout of the screen. |
Int |
The width of the available screen space in dp units. |
Int |
The smallest screen size an application will see in normal operation. |
Int |
The kind of touch screen attached to the device. |
Int |
Bit mask of the ui mode. |
Constants
COLOR_MODE_HDR_MASK
static val COLOR_MODE_HDR_MASK: Int
Constant for colorMode
: bits that encode the dynamic range of the screen.
Value: 12
COLOR_MODE_HDR_NO
static val COLOR_MODE_HDR_NO: Int
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.
Value: 4
COLOR_MODE_HDR_SHIFT
static val COLOR_MODE_HDR_SHIFT: Int
Constant for colorMode
: bits shift to get the screen dynamic range.
Value: 2
COLOR_MODE_HDR_UNDEFINED
static val COLOR_MODE_HDR_UNDEFINED: Int
Constant for colorMode
: a COLOR_MODE_HDR_MASK
value indicating that it is unknown whether or not the screen is HDR.
Value: 0
COLOR_MODE_HDR_YES
static val COLOR_MODE_HDR_YES: Int
Constant for colorMode
: a COLOR_MODE_HDR_MASK
value indicating that the screen is HDR (dynamic range).
Corresponds to the -highdr
resource qualifier.
Value: 8
COLOR_MODE_UNDEFINED
static val COLOR_MODE_UNDEFINED: Int
Constant for colorMode
: a value indicating that the color mode is undefined
Value: 0
COLOR_MODE_WIDE_COLOR_GAMUT_MASK
static val COLOR_MODE_WIDE_COLOR_GAMUT_MASK: Int
Constant for colorMode
: bits that encode whether the screen is wide gamut.
Value: 3
COLOR_MODE_WIDE_COLOR_GAMUT_NO
static val COLOR_MODE_WIDE_COLOR_GAMUT_NO: Int
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.
Value: 1
COLOR_MODE_WIDE_COLOR_GAMUT_UNDEFINED
static val COLOR_MODE_WIDE_COLOR_GAMUT_UNDEFINED: Int
Constant for colorMode
: a COLOR_MODE_WIDE_COLOR_GAMUT_MASK
value indicating that it is unknown whether or not the screen is wide gamut.
Value: 0
COLOR_MODE_WIDE_COLOR_GAMUT_YES
static val COLOR_MODE_WIDE_COLOR_GAMUT_YES: Int
Constant for colorMode
: a COLOR_MODE_WIDE_COLOR_GAMUT_MASK
value indicating that the screen is wide gamut.
Corresponds to the -widecg
resource qualifier.
Value: 2
DENSITY_DPI_UNDEFINED
static val DENSITY_DPI_UNDEFINED: Int
Default value for densityDpi
indicating that no width has been specified.
Value: 0
FONT_WEIGHT_ADJUSTMENT_UNDEFINED
static val FONT_WEIGHT_ADJUSTMENT_UNDEFINED: Int
An undefined fontWeightAdjustment.
Value: 2147483647
GRAMMATICAL_GENDER_FEMININE
static val GRAMMATICAL_GENDER_FEMININE: Int
Constant for grammatical gender: to indicate the terms of address the user preferred in an application is feminine.
Value: 2
GRAMMATICAL_GENDER_MASCULINE
static val GRAMMATICAL_GENDER_MASCULINE: Int
Constant for grammatical gender: to indicate the terms of address the user preferred in an application is masculine.
Value: 3
GRAMMATICAL_GENDER_NEUTRAL
static val GRAMMATICAL_GENDER_NEUTRAL: Int
Constant for grammatical gender: to indicate the terms of address the user preferred in an application is neuter.
Value: 1
GRAMMATICAL_GENDER_NOT_SPECIFIED
static val GRAMMATICAL_GENDER_NOT_SPECIFIED: Int
Constant for grammatical gender: to indicate the user has not specified the terms of address for the application.
Value: 0
HARDKEYBOARDHIDDEN_NO
static val HARDKEYBOARDHIDDEN_NO: Int
Constant for hardKeyboardHidden
, value corresponding to the physical keyboard being exposed.
Value: 1
HARDKEYBOARDHIDDEN_UNDEFINED
static val HARDKEYBOARDHIDDEN_UNDEFINED: Int
Constant for hardKeyboardHidden
: a value indicating that no value has been set.
Value: 0
HARDKEYBOARDHIDDEN_YES
static val HARDKEYBOARDHIDDEN_YES: Int
Constant for hardKeyboardHidden
, value corresponding to the physical keyboard being hidden.
Value: 2
KEYBOARDHIDDEN_NO
static val KEYBOARDHIDDEN_NO: Int
Constant for keyboardHidden
, value corresponding to the keysexposed resource qualifier.
Value: 1
KEYBOARDHIDDEN_UNDEFINED
static val KEYBOARDHIDDEN_UNDEFINED: Int
Constant for keyboardHidden
: a value indicating that no value has been set.
Value: 0
KEYBOARDHIDDEN_YES
static val KEYBOARDHIDDEN_YES: Int
Constant for keyboardHidden
, value corresponding to the keyshidden resource qualifier.
Value: 2
KEYBOARD_12KEY
static val KEYBOARD_12KEY: Int
Constant for keyboard
, value corresponding to the 12key resource qualifier.
Value: 3
KEYBOARD_NOKEYS
static val KEYBOARD_NOKEYS: Int
Constant for keyboard
, value corresponding to the nokeys resource qualifier.
Value: 1
KEYBOARD_QWERTY
static val KEYBOARD_QWERTY: Int
Constant for keyboard
, value corresponding to the qwerty resource qualifier.
Value: 2
KEYBOARD_UNDEFINED
static val KEYBOARD_UNDEFINED: Int
Constant for keyboard
: a value indicating that no value has been set.
Value: 0
MNC_ZERO
static val MNC_ZERO: Int
Constant used to to represent MNC (Mobile Network Code) zero. 0 cannot be used, since it is used to represent an undefined MNC.
Value: 65535
NAVIGATIONHIDDEN_NO
static val NAVIGATIONHIDDEN_NO: Int
Constant for navigationHidden
, value corresponding to the navexposed resource qualifier.
Value: 1
NAVIGATIONHIDDEN_UNDEFINED
static val NAVIGATIONHIDDEN_UNDEFINED: Int
Constant for navigationHidden
: a value indicating that no value has been set.
Value: 0
NAVIGATIONHIDDEN_YES
static val NAVIGATIONHIDDEN_YES: Int
Constant for navigationHidden
, value corresponding to the navhidden resource qualifier.
Value: 2
NAVIGATION_DPAD
static val NAVIGATION_DPAD: Int
Constant for navigation
, value corresponding to the dpad resource qualifier.
Value: 2
NAVIGATION_NONAV
static val NAVIGATION_NONAV: Int
Constant for navigation
, value corresponding to the nonav resource qualifier.
Value: 1
NAVIGATION_TRACKBALL
static val NAVIGATION_TRACKBALL: Int
Constant for navigation
, value corresponding to the trackball resource qualifier.
Value: 3
NAVIGATION_UNDEFINED
static val NAVIGATION_UNDEFINED: Int
Constant for navigation
: a value indicating that no value has been set.
Value: 0
NAVIGATION_WHEEL
static val NAVIGATION_WHEEL: Int
Constant for navigation
, value corresponding to the wheel resource qualifier.
Value: 4
ORIENTATION_LANDSCAPE
static val ORIENTATION_LANDSCAPE: Int
Constant for orientation
, value corresponding to the land resource qualifier.
Value: 2
ORIENTATION_PORTRAIT
static val ORIENTATION_PORTRAIT: Int
Constant for orientation
, value corresponding to the port resource qualifier.
Value: 1
ORIENTATION_SQUARE
static valORIENTATION_SQUARE: Int
Deprecated: Not currently supported or used.
Value: 3
ORIENTATION_UNDEFINED
static val ORIENTATION_UNDEFINED: Int
Constant for orientation
: a value indicating that no value has been set.
Value: 0
SCREENLAYOUT_LAYOUTDIR_LTR
static val SCREENLAYOUT_LAYOUTDIR_LTR: Int
Constant for screenLayout
: a SCREENLAYOUT_LAYOUTDIR_MASK
value indicating that a layout dir has been set to LTR.
Value: 64
SCREENLAYOUT_LAYOUTDIR_MASK
static val SCREENLAYOUT_LAYOUTDIR_MASK: Int
Constant for screenLayout
: bits that encode the layout direction.
Value: 192
SCREENLAYOUT_LAYOUTDIR_RTL
static val SCREENLAYOUT_LAYOUTDIR_RTL: Int
Constant for screenLayout
: a SCREENLAYOUT_LAYOUTDIR_MASK
value indicating that a layout dir has been set to RTL.
Value: 128
SCREENLAYOUT_LAYOUTDIR_SHIFT
static val SCREENLAYOUT_LAYOUTDIR_SHIFT: Int
Constant for screenLayout
: bits shift to get the layout direction.
Value: 6
SCREENLAYOUT_LAYOUTDIR_UNDEFINED
static val SCREENLAYOUT_LAYOUTDIR_UNDEFINED: Int
Constant for screenLayout
: a SCREENLAYOUT_LAYOUTDIR_MASK
value indicating that no layout dir has been set.
Value: 0
SCREENLAYOUT_LONG_MASK
static val SCREENLAYOUT_LONG_MASK: Int
Constant for screenLayout
: bits that encode the aspect ratio.
Value: 48
SCREENLAYOUT_LONG_NO
static val SCREENLAYOUT_LONG_NO: Int
Constant for screenLayout
: a SCREENLAYOUT_LONG_MASK
value that corresponds to the notlong resource qualifier.
Value: 16
SCREENLAYOUT_LONG_UNDEFINED
static val SCREENLAYOUT_LONG_UNDEFINED: Int
Constant for screenLayout
: a SCREENLAYOUT_LONG_MASK
value indicating that no size has been set.
Value: 0
SCREENLAYOUT_LONG_YES
static val SCREENLAYOUT_LONG_YES: Int
Constant for screenLayout
: a SCREENLAYOUT_LONG_MASK
value that corresponds to the long resource qualifier.
Value: 32
SCREENLAYOUT_ROUND_MASK
static val SCREENLAYOUT_ROUND_MASK: Int
Constant for screenLayout
: bits that encode roundness of the screen.
Value: 768
SCREENLAYOUT_ROUND_NO
static val SCREENLAYOUT_ROUND_NO: Int
Constant for screenLayout
: a SCREENLAYOUT_ROUND_MASK
value indicating that the screen does not have a rounded shape.
Value: 256
SCREENLAYOUT_ROUND_UNDEFINED
static val SCREENLAYOUT_ROUND_UNDEFINED: Int
Constant for screenLayout
: a SCREENLAYOUT_ROUND_MASK
value indicating that it is unknown whether or not the screen has a round shape.
Value: 0
SCREENLAYOUT_ROUND_YES
static val SCREENLAYOUT_ROUND_YES: Int
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 android.view.WindowInsets
delivered to views for more information about ensuring content is not obscured.
Corresponds to the -round
resource qualifier.
Value: 512
SCREENLAYOUT_SIZE_LARGE
static val SCREENLAYOUT_SIZE_LARGE: Int
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.
Value: 3
SCREENLAYOUT_SIZE_MASK
static val SCREENLAYOUT_SIZE_MASK: Int
Constant for screenLayout
: bits that encode the size.
Value: 15
SCREENLAYOUT_SIZE_NORMAL
static val SCREENLAYOUT_SIZE_NORMAL: Int
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.
Value: 2
SCREENLAYOUT_SIZE_SMALL
static val SCREENLAYOUT_SIZE_SMALL: Int
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.
Value: 1
SCREENLAYOUT_SIZE_UNDEFINED
static val SCREENLAYOUT_SIZE_UNDEFINED: Int
Constant for screenLayout
: a SCREENLAYOUT_SIZE_MASK
value indicating that no size has been set.
Value: 0
SCREENLAYOUT_SIZE_XLARGE
static val SCREENLAYOUT_SIZE_XLARGE: Int
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.
Value: 4
SCREENLAYOUT_UNDEFINED
static val SCREENLAYOUT_UNDEFINED: Int
Constant for screenLayout
: a value indicating that screenLayout is undefined
Value: 0
SCREEN_HEIGHT_DP_UNDEFINED
static val SCREEN_HEIGHT_DP_UNDEFINED: Int
Default value for screenHeightDp
indicating that no width has been specified.
Value: 0
SCREEN_WIDTH_DP_UNDEFINED
static val SCREEN_WIDTH_DP_UNDEFINED: Int
Default value for screenWidthDp
indicating that no width has been specified.
Value: 0
SMALLEST_SCREEN_WIDTH_DP_UNDEFINED
static val SMALLEST_SCREEN_WIDTH_DP_UNDEFINED: Int
Default value for smallestScreenWidthDp
indicating that no width has been specified.
Value: 0
TOUCHSCREEN_FINGER
static val TOUCHSCREEN_FINGER: Int
Constant for touchscreen
, value corresponding to the finger resource qualifier.
Value: 3
TOUCHSCREEN_NOTOUCH
static val TOUCHSCREEN_NOTOUCH: Int
Constant for touchscreen
, value corresponding to the notouch resource qualifier.
Value: 1
TOUCHSCREEN_STYLUS
static valTOUCHSCREEN_STYLUS: Int
Deprecated: Not currently supported or used.
Value: 2
TOUCHSCREEN_UNDEFINED
static val TOUCHSCREEN_UNDEFINED: Int
Constant for touchscreen
: a value indicating that no value has been set.
Value: 0
UI_MODE_NIGHT_MASK
static val UI_MODE_NIGHT_MASK: Int
Constant for uiMode
: bits that encode the night mode.
Value: 48
UI_MODE_NIGHT_NO
static val UI_MODE_NIGHT_NO: Int
Constant for uiMode
: a UI_MODE_NIGHT_MASK
value that corresponds to the notnight resource qualifier.
Value: 16
UI_MODE_NIGHT_UNDEFINED
static val UI_MODE_NIGHT_UNDEFINED: Int
Constant for uiMode
: a UI_MODE_NIGHT_MASK
value indicating that no mode type has been set.
Value: 0
UI_MODE_NIGHT_YES
static val UI_MODE_NIGHT_YES: Int
Constant for uiMode
: a UI_MODE_NIGHT_MASK
value that corresponds to the night resource qualifier.
Value: 32
UI_MODE_TYPE_APPLIANCE
static val UI_MODE_TYPE_APPLIANCE: Int
Constant for uiMode
: a UI_MODE_TYPE_MASK
value that corresponds to the appliance resource qualifier.
Value: 5
UI_MODE_TYPE_CAR
static val UI_MODE_TYPE_CAR: Int
Constant for uiMode
: a UI_MODE_TYPE_MASK
value that corresponds to the car resource qualifier.
Value: 3
UI_MODE_TYPE_DESK
static val UI_MODE_TYPE_DESK: Int
Constant for uiMode
: a UI_MODE_TYPE_MASK
value that corresponds to the desk resource qualifier.
Value: 2
UI_MODE_TYPE_MASK
static val UI_MODE_TYPE_MASK: Int
Constant for uiMode
: bits that encode the mode type.
Value: 15
UI_MODE_TYPE_NORMAL
static val UI_MODE_TYPE_NORMAL: Int
Constant for uiMode
: a UI_MODE_TYPE_MASK
value that corresponds to no UI mode resource qualifier specified.
Value: 1
UI_MODE_TYPE_TELEVISION
static val UI_MODE_TYPE_TELEVISION: Int
Constant for uiMode
: a UI_MODE_TYPE_MASK
value that corresponds to the television resource qualifier.
Value: 4
UI_MODE_TYPE_UNDEFINED
static val UI_MODE_TYPE_UNDEFINED: Int
Constant for uiMode
: a UI_MODE_TYPE_MASK
value indicating that no mode type has been set.
Value: 0
UI_MODE_TYPE_VR_HEADSET
static val UI_MODE_TYPE_VR_HEADSET: Int
Constant for uiMode
: a UI_MODE_TYPE_MASK
value that corresponds to the vrheadset resource qualifier.
Value: 7
UI_MODE_TYPE_WATCH
static val UI_MODE_TYPE_WATCH: Int
Constant for uiMode
: a UI_MODE_TYPE_MASK
value that corresponds to the watch resource qualifier.
Value: 6
Public constructors
Configuration
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
Configuration(o: Configuration!)
Makes a deep copy suitable for modification.
Public methods
compareTo
fun compareTo(other: Configuration!): Int
Parameters | |
---|---|
o |
the object to be compared. |
Return | |
---|---|
Int |
a negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified object. |
Exceptions | |
---|---|
java.lang.NullPointerException |
if the specified object is null |
java.lang.ClassCastException |
if the specified object's type prevents it from being compared to this object. |
describeContents
fun describeContents(): Int
Parcelable methods
Return | |
---|---|
Int |
a bitmask indicating the set of special object types marshaled by this Parcelable object instance. Value is either 0 or android.os.Parcelable#CONTENTS_FILE_DESCRIPTOR |
diff
fun diff(delta: Configuration!): Int
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.
equals
fun equals(other: Any?): Boolean
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 | |
---|---|
obj |
the reference object with which to compare. |
that |
This value may be null . |
Return | |
---|---|
Boolean |
true if this object is the same as the obj argument; false otherwise. |
generateDelta
static fun generateDelta(
base: Configuration,
change: Configuration
): Configuration
Generate a delta Configuration between base
and change
. The resulting delta can be used with .
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 . |
Return | |
---|---|
Configuration |
This value cannot be null . |
getGrammaticalGender
fun getGrammaticalGender(): Int
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
.
getLayoutDirection
fun getLayoutDirection(): Int
Return the layout direction. Will be either View#LAYOUT_DIRECTION_LTR
or View#LAYOUT_DIRECTION_RTL
.
Return | |
---|---|
Int |
Returns View#LAYOUT_DIRECTION_RTL if the configuration is SCREENLAYOUT_LAYOUTDIR_RTL , otherwise View#LAYOUT_DIRECTION_LTR . |
getLocales
fun getLocales(): LocaleList
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).
Return | |
---|---|
LocaleList |
The locale list. This value cannot be null . |
isLayoutSizeAtLeast
fun isLayoutSizeAtLeast(size: Int): Boolean
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 . |
Return | |
---|---|
Boolean |
Returns true if the current screen layout size is at least the given size. |
isNightModeActive
fun isNightModeActive(): Boolean
Retuns whether the configuration is in night mode
Return | |
---|---|
Boolean |
true if night mode is active and false otherwise |
isScreenHdr
fun isScreenHdr(): Boolean
Return whether the screen has a high dynamic range.
Return | |
---|---|
Boolean |
true if the screen has a high dynamic range, false otherwise |
isScreenRound
fun isScreenRound(): Boolean
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.
Return | |
---|---|
Boolean |
true if the screen is rounded, false otherwise |
isScreenWideColorGamut
fun isScreenWideColorGamut(): Boolean
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.
Return | |
---|---|
Boolean |
true if the screen has a wide color gamut and wide color gamut rendering is supported, false otherwise |
needNewResources
static fun needNewResources(
configChanges: Int,
interestingChanges: Int
): Boolean
Determines if a new resource needs to be loaded from the bit set of configuration changes returned by updateFrom(android.content.res.Configuration)
.
Return | |
---|---|
Boolean |
true if the resource needs to be loaded, false otherwise |
setLayoutDirection
fun setLayoutDirection(loc: Locale!): Unit
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
fun setLocale(loc: Locale?): Unit
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
fun setLocales(locales: LocaleList?): Unit
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
fun setTo(o: Configuration!): Unit
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
fun setToDefaults(): Unit
Set this object to the system defaults.
toString
fun toString(): String
Return | |
---|---|
String |
a string representation of the object. |
updateFrom
fun updateFrom(delta: Configuration): Int
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
fun writeToParcel(
dest: Parcel,
flags: Int
): Unit
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_WRITE_RETURN_VALUE . Value is either 0 or a combination of android.os.Parcelable#PARCELABLE_WRITE_RETURN_VALUE , and android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES |
Properties
colorMode
var colorMode: Int
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
var densityDpi: Int
The target screen density being rendered to, corresponding to density resource qualifier. Set to DENSITY_DPI_UNDEFINED
if no density is specified.
fontScale
var fontScale: Float
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 android.util.TypedValue#applyDimension(int, float, DisplayMetrics)
or android.util.TypedValue#deriveDimension(int, float, DisplayMetrics)
to convert between scaled font size dimensions and pixels.
fontWeightAdjustment
var fontWeightAdjustment: Int
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
var hardKeyboardHidden: Int
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
var keyboard: Int
The kind of keyboard attached to the device. One of: KEYBOARD_NOKEYS
, KEYBOARD_QWERTY
, KEYBOARD_12KEY
.
keyboardHidden
var keyboardHidden: Int
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
varlocale: Locale!
Deprecated: 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
var mcc: Int
IMSI MCC (Mobile Country Code), corresponding to mcc resource qualifier. 0 if undefined.
mnc
var mnc: Int
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
var navigation: Int
The kind of navigation method available on the device. One of: NAVIGATION_NONAV
, NAVIGATION_DPAD
, NAVIGATION_TRACKBALL
, NAVIGATION_WHEEL
.
navigationHidden
var navigationHidden: Int
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
var orientation: Int
Overall orientation of the screen. May be one of ORIENTATION_LANDSCAPE
, ORIENTATION_PORTRAIT
.
Value is android.content.res.Configuration#ORIENTATION_UNDEFINED
, android.content.res.Configuration#ORIENTATION_PORTRAIT
, android.content.res.Configuration#ORIENTATION_LANDSCAPE
, or android.content.res.Configuration#ORIENTATION_SQUARE
screenHeightDp
var screenHeightDp: Int
The height of the available screen space in dp units. Note: If the app targets android.os.Build.VERSION_CODES#VANILLA_ICE_CREAM
or after, the height measurement reflects the window size without excluding insets. Otherwise, the measurement excludes window insets even when the app is displayed edge to edge using Window#setDecorFitsSystemWindows(boolean)
. Use android.view.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 androidx.window.layout.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 android.os.Build.VERSION_CODES#VANILLA_ICE_CREAM
or after, it is the same as android.view.WindowMetrics
, but is expressed rounded to the nearest dp rather than px.
Otherwise, differs from android.view.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
var screenLayout: Int
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
var screenWidthDp: Int
The width of the available screen space in dp units. Note: If the app targets android.os.Build.VERSION_CODES#VANILLA_ICE_CREAM
or after, the width measurement reflects the window size without excluding insets. Otherwise, the measurement excludes window insets even when the app is displayed edge to edge using Window#setDecorFitsSystemWindows(boolean)
. Use android.view.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 androidx.window.layout.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 android.os.Build.VERSION_CODES#VANILLA_ICE_CREAM
or after, it is the same as android.view.WindowMetrics
, but is expressed rounded to the nearest dp rather than px.
Otherwise, differs from android.view.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
var smallestScreenWidthDp: Int
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
var touchscreen: Int
The kind of touch screen attached to the device. One of: TOUCHSCREEN_NOTOUCH
, TOUCHSCREEN_FINGER
.
uiMode
var uiMode: Int
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
.