WebSettingsCompat

public class WebSettingsCompat
extends Object

java.lang.Object
   ↳ androidx.webkit.WebSettingsCompat


Compatibility version of WebSettings

Summary

Constants

int DARK_STRATEGY_PREFER_WEB_THEME_OVER_USER_AGENT_DARKENING

In this mode WebView content will be darkened by a user agent unless web page supports dark theme.

int DARK_STRATEGY_USER_AGENT_DARKENING_ONLY

In this mode WebView content will be darkened by a user agent and it will ignore the web page's dark theme if it exists.

int DARK_STRATEGY_WEB_THEME_DARKENING_ONLY

In this mode WebView content will always be darkened using dark theme provided by web page.

int FORCE_DARK_AUTO

Enable force dark dependent on the state of the WebView parent view.

int FORCE_DARK_OFF

Disable force dark, irrespective of the force dark mode of the WebView parent.

int FORCE_DARK_ON

Unconditionally enable force dark.

Public methods

static int getDisabledActionModeMenuItems(WebSettings settings)

Gets the action mode menu items that are disabled, expressed in an integer field flag.

static int getForceDark(WebSettings settings)

Get the force dark mode for this WebView.

static int getForceDarkStrategy(WebSettings settings)

Get how content is darkened for this WebView.

static boolean getOffscreenPreRaster(WebSettings settings)

Gets whether this WebView should raster tiles when it is offscreen but attached to a window.

static boolean getSafeBrowsingEnabled(WebSettings settings)

Gets whether Safe Browsing is enabled.

static void setDisabledActionModeMenuItems(WebSettings settings, int menuItems)

Disables the action mode menu items according to menuItems flag.

static void setForceDark(WebSettings settings, int forceDarkMode)

Set the force dark mode for this WebView.

static void setForceDarkStrategy(WebSettings settings, int forceDarkBehavior)

Set how WebView content should be darkened.

static void setOffscreenPreRaster(WebSettings settings, boolean enabled)

Sets whether this WebView should raster tiles when it is offscreen but attached to a window.

static void setSafeBrowsingEnabled(WebSettings settings, boolean enabled)

Sets whether Safe Browsing is enabled.

Inherited methods

Constants

DARK_STRATEGY_PREFER_WEB_THEME_OVER_USER_AGENT_DARKENING

public static final int DARK_STRATEGY_PREFER_WEB_THEME_OVER_USER_AGENT_DARKENING

In this mode WebView content will be darkened by a user agent unless web page supports dark theme. WebView determines whether web pages supports dark theme by the presence of color-scheme metadata containing "dark" value. For example, <meta name="color-scheme" content="dark light">". If the metadata is not presented WebView content will be darkened by a user agent and prefers-color-scheme media query will evaluate to light.

See specification for more information.

Constant Value: 2 (0x00000002)

DARK_STRATEGY_USER_AGENT_DARKENING_ONLY

public static final int DARK_STRATEGY_USER_AGENT_DARKENING_ONLY

In this mode WebView content will be darkened by a user agent and it will ignore the web page's dark theme if it exists. To avoid mixing two different darkening strategies, the prefers-color-scheme media query will evaluate to light.

See specification for more information.

Constant Value: 0 (0x00000000)

DARK_STRATEGY_WEB_THEME_DARKENING_ONLY

public static final int DARK_STRATEGY_WEB_THEME_DARKENING_ONLY

In this mode WebView content will always be darkened using dark theme provided by web page. If web page does not provide dark theme support WebView content will be rendered with a default theme.

See specification for more information.

Constant Value: 1 (0x00000001)

FORCE_DARK_AUTO

public static final int FORCE_DARK_AUTO

Enable force dark dependent on the state of the WebView parent view. If the WebView parent view is being automatically force darkened (@see android.view.View#setForceDarkAllowed), then WebView content will be rendered so as to emulate a dark theme. WebViews that are not attached to the view hierarchy will not be inverted.

If your app uses a dark theme, WebView will not be inverted. Similarly, if your app's theme inherits from a DayNight theme, WebView will not be inverted. In either of these cases, you should control the mode manually with FORCE_DARK_ON or FORCE_DARK_OFF.

See Force Dark documentation for more information.

Constant Value: 1 (0x00000001)

FORCE_DARK_OFF

public static final int FORCE_DARK_OFF

Disable force dark, irrespective of the force dark mode of the WebView parent. In this mode, WebView content will always be rendered as-is, regardless of whether native views are being automatically darkened.

Constant Value: 0 (0x00000000)

FORCE_DARK_ON

public static final int FORCE_DARK_ON

Unconditionally enable force dark. In this mode WebView content will always be rendered so as to emulate a dark theme.

Constant Value: 2 (0x00000002)