Save the date! Android Dev Summit is coming to Mountain View, CA on November 7-8, 2018.

AppWidgetHostView

public class AppWidgetHostView
extends FrameLayout

java.lang.Object
   ↳ android.view.View
     ↳ android.view.ViewGroup
       ↳ android.widget.FrameLayout
         ↳ android.appwidget.AppWidgetHostView


Provides the glue to show AppWidget views. This class offers automatic animation between updates, and will try recycling old views for each incoming RemoteViews.

Summary

Inherited XML attributes

Inherited constants

Inherited fields

Public constructors

AppWidgetHostView(Context context)

Create a host view.

AppWidgetHostView(Context context, int animationIn, int animationOut)

Create a host view.

Public methods

FrameLayout.LayoutParams generateLayoutParams(AttributeSet attrs)

Returns a new set of layout parameters based on the supplied attributes set.

int getAppWidgetId()
AppWidgetProviderInfo getAppWidgetInfo()
static Rect getDefaultPaddingForWidget(Context context, ComponentName component, Rect padding)

As of ICE_CREAM_SANDWICH we are automatically adding padding to widgets targeting ICE_CREAM_SANDWICH and higher.

void setAppWidget(int appWidgetId, AppWidgetProviderInfo info)

Set the AppWidget that will be displayed by this view.

void setExecutor(Executor executor)

Sets an executor which can be used for asynchronously inflating.

void updateAppWidget(RemoteViews remoteViews)

Process a set of RemoteViews coming in as an update from the AppWidget provider.

void updateAppWidgetOptions(Bundle options)

Specify some extra information for the widget provider.

void updateAppWidgetSize(Bundle newOptions, int minWidth, int minHeight, int maxWidth, int maxHeight)

Provide guidance about the size of this widget to the AppWidgetManager.

Protected methods

void dispatchRestoreInstanceState(SparseArray<Parcelable> container)

Called by restoreHierarchyState(android.util.SparseArray) to retrieve the state for this view and its children.

void dispatchSaveInstanceState(SparseArray<Parcelable> container)

Called by saveHierarchyState(android.util.SparseArray) to store the state for this view and its children.

View getDefaultView()

Inflate and return the default layout requested by AppWidget provider.

View getErrorView()

Inflate and return a view that represents an error state.

void onLayout(boolean changed, int left, int top, int right, int bottom)

Called from layout when this view should assign a size and position to each of its children.

void prepareView(View view)

Prepare the given view to be shown.

Inherited methods

Public constructors

AppWidgetHostView

added in API level 3
public AppWidgetHostView (Context context)

Create a host view. Uses default fade animations.

Parameters
context Context

AppWidgetHostView

added in API level 3
public AppWidgetHostView (Context context, 
                int animationIn, 
                int animationOut)

Create a host view. Uses specified animations when pushing updateAppWidget(RemoteViews).

Parameters
context Context

animationIn int: Resource ID of in animation to use

animationOut int: Resource ID of out animation to use

Public methods

generateLayoutParams

added in API level 3
public FrameLayout.LayoutParams generateLayoutParams (AttributeSet attrs)

Returns a new set of layout parameters based on the supplied attributes set.

Parameters
attrs AttributeSet: the attributes to build the layout parameters from

Returns
FrameLayout.LayoutParams an instance of ViewGroup.LayoutParams or one of its descendants

getAppWidgetId

added in API level 3
public int getAppWidgetId ()

Returns
int

getAppWidgetInfo

added in API level 3
public AppWidgetProviderInfo getAppWidgetInfo ()

Returns
AppWidgetProviderInfo

getDefaultPaddingForWidget

added in API level 15
public static Rect getDefaultPaddingForWidget (Context context, 
                ComponentName component, 
                Rect padding)

As of ICE_CREAM_SANDWICH we are automatically adding padding to widgets targeting ICE_CREAM_SANDWICH and higher. The new widget design guidelines strongly recommend that widget developers do not add extra padding to their widgets. This will help achieve consistency among widgets. Note: this method is only needed by developers of AppWidgetHosts. The method is provided in order for the AppWidgetHost to account for the automatic padding when computing the number of cells to allocate to a particular widget.

Parameters
context Context: the current context

component ComponentName: the component name of the widget

padding Rect: Rect in which to place the output, if null, a new Rect will be allocated and returned

Returns
Rect default padding for this widget, in pixels

setAppWidget

added in API level 3
public void setAppWidget (int appWidgetId, 
                AppWidgetProviderInfo info)

Set the AppWidget that will be displayed by this view. This method also adds default padding to widgets, as described in getDefaultPaddingForWidget(Context, ComponentName, Rect) and can be overridden in order to add custom padding.

Parameters
appWidgetId int

info AppWidgetProviderInfo

setExecutor

added in API level 26
public void setExecutor (Executor executor)

Sets an executor which can be used for asynchronously inflating. CPU intensive tasks like view inflation or loading images will be performed on the executor. The updates will still be applied on the UI thread.

Parameters
executor Executor: the executor to use or null.

updateAppWidget

added in API level 3
public void updateAppWidget (RemoteViews remoteViews)

Process a set of RemoteViews coming in as an update from the AppWidget provider. Will animate into these new views as needed

Parameters
remoteViews RemoteViews

updateAppWidgetOptions

added in API level 16
public void updateAppWidgetOptions (Bundle options)

Specify some extra information for the widget provider. Causes a callback to the AppWidgetProvider.

Parameters
options Bundle: The bundle of options information.

updateAppWidgetSize

added in API level 16
public void updateAppWidgetSize (Bundle newOptions, 
                int minWidth, 
                int minHeight, 
                int maxWidth, 
                int maxHeight)

Provide guidance about the size of this widget to the AppWidgetManager. The widths and heights should correspond to the full area the AppWidgetHostView is given. Padding added by the framework will be accounted for automatically. This information gets embedded into the AppWidget options and causes a callback to the AppWidgetProvider.

Parameters
newOptions Bundle: The bundle of options, in addition to the size information, can be null.

minWidth int: The minimum width in dips that the widget will be displayed at.

minHeight int: The maximum height in dips that the widget will be displayed at.

maxWidth int: The maximum width in dips that the widget will be displayed at.

maxHeight int: The maximum height in dips that the widget will be displayed at.

Protected methods

dispatchRestoreInstanceState

added in API level 3
protected void dispatchRestoreInstanceState (SparseArray<Parcelable> container)

Called by restoreHierarchyState(android.util.SparseArray) to retrieve the state for this view and its children. May be overridden to modify how restoring happens to a view's children; for example, some views may want to not store state for their children.

Parameters
container SparseArray: The SparseArray which holds previously saved state.

dispatchSaveInstanceState

added in API level 3
protected void dispatchSaveInstanceState (SparseArray<Parcelable> container)

Called by saveHierarchyState(android.util.SparseArray) to store the state for this view and its children. May be overridden to modify how freezing happens to a view's children; for example, some views may want to not store state for their children.

Parameters
container SparseArray: The SparseArray in which to save the view's state.

getDefaultView

added in API level 3
protected View getDefaultView ()

Inflate and return the default layout requested by AppWidget provider.

Returns
View

getErrorView

added in API level 3
protected View getErrorView ()

Inflate and return a view that represents an error state.

Returns
View

onLayout

added in API level 3
protected void onLayout (boolean changed, 
                int left, 
                int top, 
                int right, 
                int bottom)

Called from layout when this view should assign a size and position to each of its children. Derived classes with children should override this method and call layout on each of their children.

Parameters
changed boolean: This is a new size or position for this view

left int: Left position, relative to parent

top int: Top position, relative to parent

right int: Right position, relative to parent

bottom int: Bottom position, relative to parent

prepareView

added in API level 3
protected void prepareView (View view)

Prepare the given view to be shown. This might include adjusting FrameLayout.LayoutParams before inserting.

Parameters
view View