# Enum ThemeMode

java.lang.Object
java.lang.Enum<ThemeMode>
com.codename1.annotations.buildhints.ThemeMode

All Implemented Interfaces:
  `Comparable<ThemeMode>`

public enum ThemeMode extends Enum<ThemeMode>

The look a build asks the platform for.

ONE enum for every hint that selects a theme, not one per platform. The domains overlap almost entirely and differ in a constant or two, which is not a reason to make a developer learn three names for `modern` -- and three enums drift, which is worse than the thing they were separated to prevent.

Where a hint really does accept less than all of this, its attribute says so with `@Hint(valuePattern = ...)` and the annotation processor refuses the rest. That is a build error naming the constant and the hint, which is what the old arrangement could not give: passing a constant the builder does not recognise is not an error there, it is a silent fallback to the default.

- ## Enum Constant Summary

  Enum Constants
  Enum Constant
  Description
  `AUTO`
  Follow the device's own light/dark setting.
  `CUSTOM`
  The theme the application ships, rather than a platform one.
  `DEFAULT`
  Say nothing, and let the build server apply its own default.
  `HOLOLIGHT`
  The Android Holo light look.
  `IOS7`
  The flat iOS 7 look.
  `LEGACY`
  The pre-modern look for the platform.
  `MODERN`
  The current platform look.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static ThemeMode`
  `valueOf(String name)`
  Returns the enum constant of this type with the specified name.
  `static ThemeMode[]`
  `values()`
  Returns an array containing the constants of this enum type, in the order they are declared.

  ### Methods inherited from class Enum

  `clone, compareTo, equals, getDeclaringClass, getEnumValues, hashCode, name, ordinal, setEnumValues, toString, valueOf`

  ### Methods inherited from class Object

  `getClass, notify, notifyAll, wait, wait, wait`

- ## Enum Constant Details

  - ### DEFAULT

    public static final ThemeMode DEFAULT
    Say nothing, and let the build server apply its own default.

  - ### AUTO

    public static final ThemeMode AUTO
    Follow the device's own light/dark setting.

  - ### MODERN

    public static final ThemeMode MODERN
    The current platform look.

  - ### IOS7

    public static final ThemeMode IOS7
    The flat iOS 7 look.

  - ### HOLOLIGHT

    public static final ThemeMode HOLOLIGHT
    The Android Holo light look.

  - ### LEGACY

    public static final ThemeMode LEGACY
    The pre-modern look for the platform.

  - ### CUSTOM

    public static final ThemeMode CUSTOM
    The theme the application ships, rather than a platform one.

- ## Method Details

  - ### values

    public static ThemeMode[] values()
    Returns an array containing the constants of this enum type, in the order they are declared.
    Returns:
      an array containing the constants of this enum type, in the order they are declared

  - ### valueOf

    public static ThemeMode valueOf(String name)
    Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
    Parameters:
      `name` - the name of the enum constant to be returned.
    Returns:
      the enum constant with the specified name
    Throws:
      `IllegalArgumentException` - if this enum type has no constant with the specified name
      `NullPointerException` - if the argument is null