added in version 24.1.0
belongs to Maven artifact com.android.support:appcompat-v7:28.0.0-alpha1

AppCompatDelegate

public abstract class AppCompatDelegate
extends Object

java.lang.Object
   ↳ android.support.v7.app.AppCompatDelegate


This class represents a delegate which you can use to extend AppCompat's support to any Activity.

When using an AppCompatDelegate, you should call the following methods instead of the Activity method of the same name:

The following methods should be called from the Activity method of the same name:

An Activity can only be linked with one AppCompatDelegate instance, therefore the instance returned from create(Activity, AppCompatCallback) should be retained until the Activity is destroyed.

Summary

Constants

int FEATURE_ACTION_MODE_OVERLAY

Flag for specifying the behavior of action modes when an Action Bar is not present.

int FEATURE_SUPPORT_ACTION_BAR

Flag for enabling the support Action Bar.

int FEATURE_SUPPORT_ACTION_BAR_OVERLAY

Flag for requesting an support Action Bar that overlays window content.

int MODE_NIGHT_AUTO

Mode which means to use night mode when it is determined that it is night or not.

int MODE_NIGHT_FOLLOW_SYSTEM

Mode which uses the system's night mode setting to determine if it is night or not.

int MODE_NIGHT_NO

Mode which means to not use night mode, and therefore prefer notnight qualified resources where available, regardless of the time.

int MODE_NIGHT_YES

Mode which means to always use night mode, and therefore prefer night qualified resources where available, regardless of the time.

Public methods

abstract void addContentView(View v, ViewGroup.LayoutParams lp)

Should be called instead of addContentView(android.view.View, android.view.ViewGroup.LayoutParams)}

abstract boolean applyDayNight()

Allow AppCompat to apply the night and notnight resource qualifiers.

static AppCompatDelegate create(Dialog dialog, AppCompatCallback callback)

Create a AppCompatDelegate to use with dialog.

static AppCompatDelegate create(Activity activity, AppCompatCallback callback)

Create a AppCompatDelegate to use with activity.

abstract View createView(View parent, String name, Context context, AttributeSet attrs)

This should be called from a LayoutInflater.Factory2 in order to return tint-aware widgets.

abstract <T extends View> T findViewById(int id)

Finds a view that was identified by the id attribute from the XML that was processed in onCreate(Bundle).

static int getDefaultNightMode()

Returns the default night mode.

abstract ActionBarDrawerToggle.Delegate getDrawerToggleDelegate()

Returns an ActionBarDrawerToggle.Delegate which can be returned from your Activity if it implements ActionBarDrawerToggle.DelegateProvider.

abstract MenuInflater getMenuInflater()

Return the value of this call from your getMenuInflater()

abstract ActionBar getSupportActionBar()

Support library version of getActionBar().

abstract boolean hasWindowFeature(int featureId)

Query for the availability of a certain feature.

abstract void installViewFactory()

Installs AppCompat's LayoutInflater Factory so that it can replace the framework widgets with compatible tinted versions.

abstract void invalidateOptionsMenu()

Should be called from invalidateOptionsMenu()} or supportInvalidateOptionsMenu().

static boolean isCompatVectorFromResourcesEnabled()

Returns whether vector drawables on older platforms (< API 21) can be accessed from within resources.

abstract boolean isHandleNativeActionModesEnabled()

Returns whether AppCompat handles any native action modes itself.

abstract void onConfigurationChanged(Configuration newConfig)

Should be called from onConfigurationChanged(Configuration)

abstract void onCreate(Bundle savedInstanceState)

Should be called from Activity.onCreate().

abstract void onDestroy()

Should be called from onDestroy()

abstract void onPostCreate(Bundle savedInstanceState)

Should be called from onPostCreate(android.os.Bundle)

abstract void onPostResume()

Should be called from onPostResume()

abstract void onSaveInstanceState(Bundle outState)

Allows AppCompat to save instance state.

abstract void onStart()

Should be called from onStart() Activity.onStart()}

abstract void onStop()

Should be called from Activity.onStop()

abstract boolean requestWindowFeature(int featureId)

Enable extended window features.

static void setCompatVectorFromResourcesEnabled(boolean enabled)

Sets whether vector drawables on older platforms (< API 21) can be used within DrawableContainer resources.

abstract void setContentView(View v)

Should be called instead of setContentView(android.view.View)}

abstract void setContentView(int resId)

Should be called instead of setContentView(int)}

abstract void setContentView(View v, ViewGroup.LayoutParams lp)

Should be called instead of setContentView(android.view.View, android.view.ViewGroup.LayoutParams)}

static void setDefaultNightMode(int mode)

Sets the default night mode.

abstract void setHandleNativeActionModesEnabled(boolean enabled)

Whether AppCompat handles any native action modes itself.

abstract void setLocalNightMode(int mode)

Override the night mode used for this delegate's host component.

abstract void setSupportActionBar(Toolbar toolbar)

Set a Toolbar to act as the ActionBar for this delegate.

abstract void setTitle(CharSequence title)

Should be called from onTitleChanged(CharSequence, int)}

abstract ActionMode startSupportActionMode(ActionMode.Callback callback)

Start an action mode.

Inherited methods

From class java.lang.Object

Constants

FEATURE_ACTION_MODE_OVERLAY

added in version 24.1.0
int FEATURE_ACTION_MODE_OVERLAY

Flag for specifying the behavior of action modes when an Action Bar is not present. If overlay is enabled, the action mode UI will be allowed to cover existing window content.

Constant Value: 10 (0x0000000a)

FEATURE_SUPPORT_ACTION_BAR

added in version 24.1.0
int FEATURE_SUPPORT_ACTION_BAR

Flag for enabling the support Action Bar.

This is enabled by default for some devices. The Action Bar replaces the title bar and provides an alternate location for an on-screen menu button on some devices.

Constant Value: 108 (0x0000006c)

FEATURE_SUPPORT_ACTION_BAR_OVERLAY

added in version 24.1.0
int FEATURE_SUPPORT_ACTION_BAR_OVERLAY

Flag for requesting an support Action Bar that overlays window content. Normally an Action Bar will sit in the space above window content, but if this feature is requested along with FEATURE_SUPPORT_ACTION_BAR it will be layered over the window content itself. This is useful if you would like your app to have more control over how the Action Bar is displayed, such as letting application content scroll beneath an Action Bar with a transparent background or otherwise displaying a transparent/translucent Action Bar over application content.

This mode is especially useful with View.SYSTEM_UI_FLAG_FULLSCREEN, which allows you to seamlessly hide the action bar in conjunction with other screen decorations. When an ActionBar is in this mode it will adjust the insets provided to View.fitSystemWindows(Rect) to include the content covered by the action bar, so you can do layout within that space.

Constant Value: 109 (0x0000006d)

MODE_NIGHT_AUTO

added in version 24.1.0
int MODE_NIGHT_AUTO

Mode which means to use night mode when it is determined that it is night or not.

The calculation used to determine whether it is night or not makes use of the location APIs (if this app has the necessary permissions). This allows us to generate accurate sunrise and sunset times. If this app does not have permission to access the location APIs then we use hardcoded times which will be less accurate.

Constant Value: 0 (0x00000000)

MODE_NIGHT_FOLLOW_SYSTEM

added in version 24.1.0
int MODE_NIGHT_FOLLOW_SYSTEM

Mode which uses the system's night mode setting to determine if it is night or not.

Constant Value: -1 (0xffffffff)

MODE_NIGHT_NO

added in version 24.1.0
int MODE_NIGHT_NO

Mode which means to not use night mode, and therefore prefer notnight qualified resources where available, regardless of the time.

Constant Value: 1 (0x00000001)

MODE_NIGHT_YES

added in version 24.1.0
int MODE_NIGHT_YES

Mode which means to always use night mode, and therefore prefer night qualified resources where available, regardless of the time.

Constant Value: 2 (0x00000002)

Public methods

addContentView

added in version 24.1.0
void addContentView (View v,