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:
- addContentView(android.view.View, android.view.ViewGroup.LayoutParams)
- setContentView(int)
- setContentView(android.view.View)
- setContentView(android.view.View, android.view.ViewGroup.LayoutParams)
- requestWindowFeature(int)
- hasWindowFeature(int)
- invalidateOptionsMenu()
- startSupportActionMode(android.support.v7.view.ActionMode.Callback)
- setSupportActionBar(android.support.v7.widget.Toolbar)
- getSupportActionBar()
- getMenuInflater()
- findViewById(int)
The following methods should be called from the Activity method of the
 same name:
- onCreate(android.os.Bundle)
- onPostCreate(android.os.Bundle)
- onConfigurationChanged(android.content.res.Configuration)
- onStart()
- onStop()
- onPostResume()
- onSaveInstanceState(Bundle)
- setTitle(CharSequence)
- onStop()
- onDestroy()
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_OVERLAYFlag for specifying the behavior of action modes when an Action Bar is not present. | 
| int | FEATURE_SUPPORT_ACTION_BARFlag for enabling the support Action Bar. | 
| int | FEATURE_SUPPORT_ACTION_BAR_OVERLAYFlag for requesting an support Action Bar that overlays window content. | 
| int | MODE_NIGHT_AUTOMode which means to use night mode when it is determined that it is night or not. | 
| int | MODE_NIGHT_FOLLOW_SYSTEMMode which uses the system's night mode setting to determine if it is night or not. | 
| int | MODE_NIGHT_NOMode which means to not use night mode, and therefore prefer  | 
| int | MODE_NIGHT_YESMode which means to always use night mode, and therefore prefer  | 
| Public methods | |
|---|---|
| 
        abstract
        
        
        
        
        void | 
      addContentView(View v, ViewGroup.LayoutParams lp)
      Should be called instead of
  | 
| 
        abstract
        
        
        
        
        boolean | 
      applyDayNight()
      Allow AppCompat to apply the  | 
| 
        
        
        static
        
        
        AppCompatDelegate | 
      create(Dialog dialog, AppCompatCallback callback)
      Create a  | 
| 
        
        
        static
        
        
        AppCompatDelegate | 
      create(Activity activity, AppCompatCallback callback)
      Create a  | 
| 
        abstract
        
        
        
        
        View | 
      createView(View parent, String name, Context context, AttributeSet attrs)
      This should be called from a
  | 
| 
        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  | 
| 
        
        
        static
        
        
        int | 
      getDefaultNightMode()
      Returns the default night mode. | 
| 
        abstract
        
        
        
        
        ActionBarDrawerToggle.Delegate | 
      getDrawerToggleDelegate()
      Returns an  | 
| 
        abstract
        
        
        
        
        MenuInflater | 
      getMenuInflater()
      Return the value of this call from your  | 
| 
        abstract
        
        
        
        
        ActionBar | 
      getSupportActionBar()
      Support library version of  | 
| 
        abstract
        
        
        
        
        boolean | 
      hasWindowFeature(int featureId)
      Query for the availability of a certain feature. | 
| 
        abstract
        
        
        
        
        void | 
      installViewFactory()
      Installs AppCompat's  | 
| 
        abstract
        
        
        
        
        void | 
      invalidateOptionsMenu()
      Should be called from  | 
| 
        
        
        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
  | 
| 
        abstract
        
        
        
        
        void | 
      onCreate(Bundle savedInstanceState)
      Should be called from  | 
| 
        abstract
        
        
        
        
        void | 
      onDestroy()
      Should be called from  | 
| 
        abstract
        
        
        
        
        void | 
      onPostCreate(Bundle savedInstanceState)
      Should be called from  | 
| 
        abstract
        
        
        
        
        void | 
      onPostResume()
      Should be called from  | 
| 
        abstract
        
        
        
        
        void | 
      onSaveInstanceState(Bundle outState)
      Allows AppCompat to save instance state. | 
| 
        abstract
        
        
        
        
        void | 
      onStart()
      Should be called from  | 
| 
        abstract
        
        
        
        
        void | 
      onStop()
      Should be called from  | 
| 
        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
  | 
| 
        abstract
        
        
        
        
        void | 
      setContentView(View v)
      Should be called instead of  | 
| 
        abstract
        
        
        
        
        void | 
      setContentView(int resId)
      Should be called instead of  | 
| 
        abstract
        
        
        
        
        void | 
      setContentView(View v, ViewGroup.LayoutParams lp)
      Should be called instead of
  | 
| 
        
        
        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)
       | 
| 
        abstract
        
        
        
        
        void | 
      setTitle(CharSequence title)
      Should be called from  | 
| 
        abstract
        
        
        
        
        ActionMode | 
      startSupportActionMode(ActionMode.Callback callback)
      Start an action mode. | 
| Inherited methods | |
|---|---|
|  From
class 
  
    java.lang.Object
  
 | |
Constants
FEATURE_ACTION_MODE_OVERLAY
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
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
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
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.
See also:
Constant Value: 0 (0x00000000)
MODE_NIGHT_FOLLOW_SYSTEM
int MODE_NIGHT_FOLLOW_SYSTEM
Mode which uses the system's night mode setting to determine if it is night or not.
See also:
Constant Value: -1 (0xffffffff)
MODE_NIGHT_NO
int MODE_NIGHT_NO
Mode which means to not use night mode, and therefore prefer notnight qualified
 resources where available, regardless of the time.
See also:
Constant Value: 1 (0x00000001)
MODE_NIGHT_YES
int MODE_NIGHT_YES
Mode which means to always use night mode, and therefore prefer night qualified
 resources where available, regardless of the time.
See also:
Constant Value: 2 (0x00000002)
Public methods
addContentView
void addContentView (View v, ViewGroup.LayoutParams lp)
Should be called instead of
 addContentView(android.view.View, android.view.ViewGroup.LayoutParams)}
| Parameters | |
|---|---|
| v | View | 
| lp | ViewGroup.LayoutParams | 
applyDayNight
boolean applyDayNight ()
Allow AppCompat to apply the night and notnight resource qualifiers.
 
Doing this enables the
 Theme.AppCompat.DayNight
 family of themes to work, using the computed twilight to automatically select a dark or
 light theme.
You can override the night mode using setLocalNightMode(int).
This only works on devices running
 ICE_CREAM_SANDWICH and above.
If this is called after the host component has been created, the component will either be
 automatically recreated or its Configuration updated. Which one depends on how
 the component is setup (via android:configChanges or similar).
| Returns | |
|---|---|
| boolean | true if the night mode was applied, false if not | 
create
AppCompatDelegate create (Dialog dialog, AppCompatCallback callback)
Create a AppCompatDelegate to use with dialog.
| Parameters | |
|---|---|
| dialog | Dialog | 
| callback | AppCompatCallback: An optional callback for AppCompat specific events | 
| Returns | |
|---|---|
| AppCompatDelegate | |
create
AppCompatDelegate create (Activity activity, AppCompatCallback callback)
Create a AppCompatDelegate to use with activity.
| Parameters | |
|---|---|
| activity | Activity | 
| callback | AppCompatCallback: An optional callback for AppCompat specific events | 
| Returns | |
|---|---|
| AppCompatDelegate | |
createView
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.
 
 This is only needed if you are using your own
 LayoutInflater factory, and have therefore not
 installed the default factory via installViewFactory().
| Parameters | |
|---|---|
| parent | View | 
| name | String | 
| context | Context | 
| attrs | AttributeSet | 
| Returns | |
|---|---|
| View | |
findViewById
T findViewById (int id)
Finds a view that was identified by the id attribute from the XML that
 was processed in onCreate(Bundle).
| Parameters | |
|---|---|
| id | int | 
| Returns | |
|---|---|
| T | The view if found or null otherwise. | 
getDefaultNightMode
int getDefaultNightMode ()
Returns the default night mode.
| Returns | |
|---|---|
| int | |
See also:
getDrawerToggleDelegate
ActionBarDrawerToggle.Delegate getDrawerToggleDelegate ()
Returns an ActionBarDrawerToggle.Delegate which can be returned from your Activity
 if it implements ActionBarDrawerToggle.DelegateProvider.
| Returns | |
|---|---|
| ActionBarDrawerToggle.Delegate | |
getMenuInflater
MenuInflater getMenuInflater ()
Return the value of this call from your getMenuInflater()
| Returns | |
|---|---|
| MenuInflater | |
getSupportActionBar
ActionBar getSupportActionBar ()
Support library version of getActionBar().
| Returns | |
|---|---|
| ActionBar | AppCompat's action bar, or null if it does not have one. | 
hasWindowFeature
boolean hasWindowFeature (int featureId)
Query for the availability of a certain feature.
This should be called instead of hasFeature(int).
| Parameters | |
|---|---|
| featureId | int: The feature ID to check | 
| Returns | |
|---|---|
| boolean | true if the feature is enabled, false otherwise. | 
installViewFactory
void installViewFactory ()
Installs AppCompat's LayoutInflater Factory so that it can replace
 the framework widgets with compatible tinted versions. This should be called before
 super.onCreate() as so:
 
 protected void onCreate(Bundle savedInstanceState) {
     getDelegate().installViewFactory();
     getDelegate().onCreate(savedInstanceState);
     super.onCreate(savedInstanceState);
     // ...
 }
 Factory or
 Factory2 then you can omit this call, and instead call
 createView(android.view.View, String, android.content.Context, android.util.AttributeSet)
 from your factory to return any compatible widgets.
invalidateOptionsMenu
void invalidateOptionsMenu ()
Should be called from invalidateOptionsMenu()} or
 supportInvalidateOptionsMenu().
isCompatVectorFromResourcesEnabled
boolean isCompatVectorFromResourcesEnabled ()
Returns whether vector drawables on older platforms (< API 21) can be accessed from within resources.
| Returns | |
|---|---|
| boolean | |
isHandleNativeActionModesEnabled
boolean isHandleNativeActionModesEnabled ()
Returns whether AppCompat handles any native action modes itself.
| Returns | |
|---|---|
| boolean | true if AppCompat should handle native action modes. | 
onConfigurationChanged
void onConfigurationChanged (Configuration newConfig)
Should be called from
 onConfigurationChanged(Configuration)
| Parameters | |
|---|---|
| newConfig | Configuration | 
onCreate
void onCreate (Bundle savedInstanceState)
Should be called from Activity.onCreate().
 
This should be called before super.onCreate() as so:
 protected void onCreate(Bundle savedInstanceState) {
     getDelegate().onCreate(savedInstanceState);
     super.onCreate(savedInstanceState);
     // ...
 }
 | Parameters | |
|---|---|
| savedInstanceState | Bundle | 
onPostCreate
void onPostCreate (Bundle savedInstanceState)
Should be called from onPostCreate(android.os.Bundle)
| Parameters | |
|---|---|
| savedInstanceState | Bundle | 
onSaveInstanceState
void onSaveInstanceState (Bundle outState)
Allows AppCompat to save instance state.
| Parameters | |
|---|---|
| outState | Bundle | 
requestWindowFeature
boolean requestWindowFeature (int featureId)
Enable extended window features.  This should be called instead of
 requestWindowFeature(int) or
 getWindow().requestFeature().
| Parameters | |
|---|---|
| featureId | int: The desired feature as defined inWindow. | 
| Returns | |
|---|---|
| boolean | Returns true if the requested feature is supported and now enabled. | 
setCompatVectorFromResourcesEnabled
void setCompatVectorFromResourcesEnabled (boolean enabled)
Sets whether vector drawables on older platforms (< API 21) can be used within
 DrawableContainer resources.
 
When enabled, AppCompat can intercept some drawable inflation from the framework, which
 enables implicit inflation of vector drawables within
 DrawableContainer resources. You can then use those
 drawables in places such as android:src on ImageView,
 or android:drawableLeft on TextView. Example usage:
 <selector xmlns:android="...">
     <item android:state_checked="true"
           android:drawable="@drawable/vector_checked_icon" />
     <item android:drawable="@drawable/vector_icon" />
 </selector>
 <TextView
         ...
         android:drawableLeft="@drawable/vector_state_list_icon" />
 This feature defaults to disabled, since enabling it can cause issues with memory usage,
 and problems updating Configuration instances. If you update the configuration
 manually, then you probably do not want to enable this. You have been warned.
Even with this disabled, you can still use vector resources through
 setImageResource(int) and its
 app:srcCompat attribute. They can also be used in anything which AppCompat inflates
 for you, such as menu resources.
Please note: this only takes effect in Activities created after this call.
| Parameters | |
|---|---|
| enabled | boolean | 
setContentView
void setContentView (View v)
Should be called instead of setContentView(android.view.View)}
| Parameters | |
|---|---|
| v | View | 
setContentView
void setContentView (int resId)
Should be called instead of setContentView(int)}
| Parameters | |
|---|---|
| resId | int | 
setContentView
void setContentView (View v, ViewGroup.LayoutParams lp)
Should be called instead of
 setContentView(android.view.View, android.view.ViewGroup.LayoutParams)}
| Parameters | |
|---|---|
| v | View | 
| lp | ViewGroup.LayoutParams | 
setDefaultNightMode
void setDefaultNightMode (int mode)
Sets the default night mode. This is used across all activities/dialogs but can be overridden
 locally via setLocalNightMode(int).
 
This method only takes effect for those situations where applyDayNight() works.
 Defaults to MODE_NIGHT_NO.
This only takes effect for components which are created after the call. Any components which are already open will not be updated.
| Parameters | |
|---|---|
| mode | int | 
setHandleNativeActionModesEnabled
void setHandleNativeActionModesEnabled (boolean enabled)
Whether AppCompat handles any native action modes itself.
This methods only takes effect on
 ICE_CREAM_SANDWICH and above.
| Parameters | |
|---|---|
| enabled | boolean: whether AppCompat should handle native action modes. | 
setLocalNightMode
void setLocalNightMode (int mode)
Override the night mode used for this delegate's host component. This method only takes
 effect for those situations where applyDayNight() works.
 
As this will call applyDayNight(), the host component might be
 recreated automatically.
| Parameters | |
|---|---|
| mode | int | 
setSupportActionBar
void setSupportActionBar (Toolbar toolbar)
Set a Toolbar to act as the ActionBar for this delegate.
 
When set to a non-null value the getSupportActionBar() ()} method will return
 an ActionBar object that can be used to control the given toolbar as if it were
 a traditional window decor action bar. The toolbar's menu will be populated with the
 Activity's options menu and the navigation button will be wired through the standard
 home menu select action.
In order to use a Toolbar within the Activity's window content the application
 must not request the window feature
 FEATURE_SUPPORT_ACTION_BAR.
| Parameters | |
|---|---|
| toolbar | Toolbar: Toolbar to set as the Activity's action bar, ornullto clear it | 
setTitle
void setTitle (CharSequence title)
Should be called from onTitleChanged(CharSequence, int)}
| Parameters | |
|---|---|
| title | CharSequence | 
startSupportActionMode
ActionMode startSupportActionMode (ActionMode.Callback callback)
Start an action mode.
| Parameters | |
|---|---|
| callback | ActionMode.Callback: Callback that will manage lifecycle events for this context mode | 
| Returns | |
|---|---|
| ActionMode | The ContextMode that was started, or null if it was canceled | 
- Interfaces
- Classes- ActionBar
- ActionBar.LayoutParams
- ActionBar.Tab
- ActionBarDrawerToggle
- AlertDialog
- AlertDialog.Builder
- AppCompatActivity
- AppCompatDelegate
- AppCompatDialog
- AppCompatDialogFragment
- AppCompatViewInflater
- MediaRouteActionProvider
- MediaRouteButton
- MediaRouteChooserDialog
- MediaRouteChooserDialogFragment
- MediaRouteControllerDialog
- MediaRouteControllerDialogFragment
- MediaRouteDialogFactory
- MediaRouteDiscoveryFragment
 
