Build 1.0_r1(from source)

android.view
Class Window

java.lang.Object
  extended by android.view.Window

public abstract class Window
extends Object

Abstract base class for a top-level window look and behavior policy. An instance of this class should be used as the top-level view added to the window manager. It provides standard UI policies such as a background, title area, default key processing, etc.

The only existing implementation of this abstract class is android.policy.PhoneWindow, which you should instantiate when needing a Window. Eventually that class will be refactored and a factory method added for creating Window instances without knowing about a particular implementation.


Nested Class Summary
static interface Window.Callback
          API from a Window back to its caller.
 
Field Summary
protected static int DEFAULT_FEATURES
          The default features enabled
static int FEATURE_CONTEXT_MENU
          Flag for the context menu.
static int FEATURE_CUSTOM_TITLE
          Flag for custom title.
static int FEATURE_INDETERMINATE_PROGRESS
          Flag for indeterminate progress
static int FEATURE_LEFT_ICON
          Flag for having an icon on the left side of the title bar
static int FEATURE_NO_TITLE
          Flag for the "no title" feature, turning off the title at the top of the screen.
static int FEATURE_OPTIONS_PANEL
          Flag for the "options panel" feature.
static int FEATURE_PROGRESS
          Flag for the progress indicator feature
static int FEATURE_RIGHT_ICON
          Flag for having an icon on the right side of the title bar
static int ID_ANDROID_CONTENT
          The ID that the main layout in the XML layout file should have.
static int PROGRESS_END
          Ending value for the (primary) progress
static int PROGRESS_INDETERMINATE_OFF
          Flag for setting the progress bar's indeterminate mode off
static int PROGRESS_INDETERMINATE_ON
          Flag for setting the progress bar's indeterminate mode on
static int PROGRESS_SECONDARY_END
          Highest possible value for the secondary progress
static int PROGRESS_SECONDARY_START
          Lowest possible value for the secondary progress
static int PROGRESS_START
          Starting value for the (primary) progress
static int PROGRESS_VISIBILITY_OFF
          Flag for setting the progress bar's visibility to GONE
static int PROGRESS_VISIBILITY_ON
          Flag for setting the progress bar's visibility to VISIBLE
 
Constructor Summary
Window(Context context)
           
 
Method Summary
abstract  void addContentView(View view, ViewGroup.LayoutParams params)
          Variation on setContentView(View, android.view.ViewGroup.LayoutParams) to add an additional content view to the screen.
 void addFlags(int flags)
          Convenience function to set the flag bits as specified in flags, as per setFlags(int, int).
 void clearFlags(int flags)
          Convenience function to clear the flag bits as specified in flags, as per setFlags(int, int).
abstract  void closeAllPanels()
           
abstract  void closePanel(int featureId)
           
 View findViewById(int id)
          Finds a view that was identified by the id attribute from the XML that was processed in Activity.onCreate(android.os.Bundle).
 WindowManager.LayoutParams getAttributes()
          Retrieve the current window attributes associated with this panel.
 Window.Callback getCallback()
          Return the current Callback interface for this window.
 Window getContainer()
          Return the container for this Window.
 Context getContext()
          Return the Context this window policy is running in, for retrieving resources and other information.
abstract  View getCurrentFocus()
          Return the view in this Window that currently has focus, or null if there are none.
abstract  View getDecorView()
          Retrieve the top-level window decor view (containing the standard window frame/decorations and the client's content inside of that), which can be added as a window to the window manager.
protected  int getFeatures()
          Return the feature bits that are enabled.
protected  int getForcedWindowFlags()
          Return the window flags that have been explicitly set by the client, so will not be modified by getDecorView().
abstract  LayoutInflater getLayoutInflater()
          Quick access to the LayoutInflater instance that this Window retrieved from its Context.
protected  int getLocalFeatures()
          Return the feature bits that are being implemented by this Window.
abstract  int getVolumeControlStream()
           
 WindowManager getWindowManager()
          Return the window manager allowing this Window to display its own windows.
 TypedArray getWindowStyle()
          Return the R.styleable.Window attributes from this window's theme.
 boolean hasChildren()
           
 boolean isActive()
           
abstract  boolean isFloating()
          Return whether this window is being displayed with a floating style (based on the R.attr.windowIsFloating attribute in the style/theme).
abstract  boolean isShortcutKey(int keyCode, KeyEvent event)
          Is a keypress one of the defined shortcut keys for this window.
 void makeActive()
           
protected abstract  void onActive()
           
abstract  void onConfigurationChanged(Configuration newConfig)
          Should be called when the configuration is changed.
abstract  void openPanel(int featureId, KeyEvent event)
           
abstract  View peekDecorView()
          Retrieve the current decor view, but only if it has already been created; otherwise returns null.
abstract  boolean performContextMenuIdentifierAction(int id, int flags)
           
abstract  boolean performPanelIdentifierAction(int featureId, int id, int flags)
           
abstract  boolean performPanelShortcut(int featureId, int keyCode, KeyEvent event, int flags)
           
 boolean requestFeature(int featureId)
          Enable extended screen features.
abstract  void restoreHierarchyState(Bundle savedInstanceState)
           
abstract  Bundle saveHierarchyState()
           
 void setAttributes(WindowManager.LayoutParams a)
          Specify custom window attributes.
abstract  void setBackgroundDrawable(Drawable drawable)
          Change the background of this window to a custom Drawable.
 void setBackgroundDrawableResource(int resid)
          Change the background of this window to a Drawable resource.
 void setCallback(Window.Callback callback)
          Set the Callback interface for this window, used to intercept key events and other dynamic operations in the window.
abstract  void setChildDrawable(int featureId, Drawable drawable)
           
abstract  void setChildInt(int featureId, int value)
           
 void setContainer(Window container)
          Set the container for this window.
abstract  void setContentView(int layoutResID)
          Convenience for setContentView(View, android.view.ViewGroup.LayoutParams) to set the screen content from a layout resource.
abstract  void setContentView(View view)
          Convenience for setContentView(View, android.view.ViewGroup.LayoutParams) set the screen content to an explicit view.
abstract  void setContentView(View view, ViewGroup.LayoutParams params)
          Set the screen content to an explicit view.
protected  void setDefaultWindowFormat(int format)
          Set the default format of window, as per the PixelFormat types.
abstract  void setFeatureDrawable(int featureId, Drawable drawable)
          Set an explicit Drawable value for feature of this window.
abstract  void setFeatureDrawableAlpha(int featureId, int alpha)
          Set a custom alpha value for the given drawale feature, controlling how much the background is visible through it.
abstract  void setFeatureDrawableResource(int featureId, int resId)
          Set the value for a drawable feature of this window, from a resource identifier.
abstract  void setFeatureDrawableUri(int featureId, Uri uri)
          Set the value for a drawable feature of this window, from a URI.
abstract  void setFeatureInt(int featureId, int value)
          Set the integer value for a feature.
 void setFlags(int flags, int mask)
          Set the flags of the window, as per the WindowManager.LayoutParams flags.
 void setFormat(int format)
          Set the format of window, as per the PixelFormat types.
 void setGravity(int gravity)
          Set the gravity of the window, as per the Gravity constants.
 void setLayout(int width, int height)
          Set the width and height layout parameters of the window.
abstract  void setTitle(CharSequence title)
           
abstract  void setTitleColor(int textColor)
           
 void setType(int type)
          Set the type of the window, as per the WindowManager.LayoutParams types.
abstract  void setVolumeControlStream(int streamType)
           
 void setWindowManager(WindowManager wm, IBinder appToken, String appName)
          Set the window manager for use by this Window to, for example, display panels.
abstract  boolean superDispatchKeyEvent(KeyEvent event)
          Used by custom windows, such as Dialog, to pass the key press event further down the view hierarchy.
abstract  boolean superDispatchTouchEvent(MotionEvent event)
          Used by custom windows, such as Dialog, to pass the touch screen event further down the view hierarchy.
abstract  boolean superDispatchTrackballEvent(MotionEvent event)
          Used by custom windows, such as Dialog, to pass the trackball event further down the view hierarchy.
abstract  void takeKeyEvents(boolean get)
          Request that key events come to this activity.
abstract  void togglePanel(int featureId, KeyEvent event)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

FEATURE_OPTIONS_PANEL

public static final int FEATURE_OPTIONS_PANEL
Flag for the "options panel" feature. This is enabled by default.

See Also:
Constant Field Values

FEATURE_NO_TITLE

public static final int FEATURE_NO_TITLE
Flag for the "no title" feature, turning off the title at the top of the screen.

See Also:
Constant Field Values

FEATURE_PROGRESS

public static final int FEATURE_PROGRESS
Flag for the progress indicator feature

See Also:
Constant Field Values

FEATURE_LEFT_ICON

public static final int FEATURE_LEFT_ICON
Flag for having an icon on the left side of the title bar

See Also:
Constant Field Values

FEATURE_RIGHT_ICON

public static final int FEATURE_RIGHT_ICON
Flag for having an icon on the right side of the title bar

See Also:
Constant Field Values

FEATURE_INDETERMINATE_PROGRESS

public static final int FEATURE_INDETERMINATE_PROGRESS
Flag for indeterminate progress

See Also:
Constant Field Values

FEATURE_CONTEXT_MENU

public static final int FEATURE_CONTEXT_MENU
Flag for the context menu. This is enabled by default.

See Also:
Constant Field Values

FEATURE_CUSTOM_TITLE

public static final int FEATURE_CUSTOM_TITLE
Flag for custom title. You cannot combine this feature with other title features.

See Also:
Constant Field Values

PROGRESS_VISIBILITY_ON

public static final int PROGRESS_VISIBILITY_ON
Flag for setting the progress bar's visibility to VISIBLE

See Also:
Constant Field Values

PROGRESS_VISIBILITY_OFF

public static final int PROGRESS_VISIBILITY_OFF
Flag for setting the progress bar's visibility to GONE

See Also:
Constant Field Values

PROGRESS_INDETERMINATE_ON

public static final int PROGRESS_INDETERMINATE_ON
Flag for setting the progress bar's indeterminate mode on

See Also:
Constant Field Values

PROGRESS_INDETERMINATE_OFF

public static final int PROGRESS_INDETERMINATE_OFF
Flag for setting the progress bar's indeterminate mode off

See Also:
Constant Field Values

PROGRESS_START

public static final int PROGRESS_START
Starting value for the (primary) progress

See Also:
Constant Field Values

PROGRESS_END

public static final int PROGRESS_END
Ending value for the (primary) progress

See Also:
Constant Field Values

PROGRESS_SECONDARY_START

public static final int PROGRESS_SECONDARY_START
Lowest possible value for the secondary progress

See Also:
Constant Field Values

PROGRESS_SECONDARY_END

public static final int PROGRESS_SECONDARY_END
Highest possible value for the secondary progress

See Also:
Constant Field Values

DEFAULT_FEATURES

protected static final int DEFAULT_FEATURES
The default features enabled

See Also:
Constant Field Values

ID_ANDROID_CONTENT

public static final int ID_ANDROID_CONTENT
The ID that the main layout in the XML layout file should have.

See Also:
Constant Field Values
Constructor Detail

Window

public Window(Context context)
Method Detail

getContext

public final Context getContext()
Return the Context this window policy is running in, for retrieving resources and other information.

Returns:
Context The Context that was supplied to the constructor.

getWindowStyle

public final TypedArray getWindowStyle()
Return the R.styleable.Window attributes from this window's theme.


setContainer

public void setContainer(Window container)
Set the container for this window. If not set, the DecorWindow operates as a top-level window; otherwise, it negotiates with the container to display itself appropriately.

Parameters:
container - The desired containing Window.

getContainer

public final Window getContainer()
Return the container for this Window.

Returns:
Window The containing window, or null if this is a top-level window.

hasChildren

public final boolean hasChildren()

setWindowManager

public void setWindowManager(WindowManager wm,
                             IBinder appToken,
                             String appName)
Set the window manager for use by this Window to, for example, display panels. This is not used for displaying the Window itself -- that must be done by the client.

Parameters:
wm - The ViewManager for adding new windows.

getWindowManager

public WindowManager getWindowManager()
Return the window manager allowing this Window to display its own windows.

Returns:
WindowManager The ViewManager.

setCallback

public void setCallback(Window.Callback callback)
Set the Callback interface for this window, used to intercept key events and other dynamic operations in the window.

Parameters:
callback - The desired Callback interface.

getCallback

public final Window.Callback getCallback()
Return the current Callback interface for this window.


isFloating

public abstract boolean isFloating()
Return whether this window is being displayed with a floating style (based on the R.attr.windowIsFloating attribute in the style/theme).

Returns:
Returns true if the window is configured to be displayed floating on top of whatever is behind it.

setLayout

public void setLayout(int width,
                      int height)
Set the width and height layout parameters of the window. The default for both of these is FILL_PARENT; you can change them to WRAP_CONTENT to make a window that is not full-screen.

Parameters:
width - The desired layout width of the window.
height - The desired layout height of the window.

setGravity

public void setGravity(int gravity)
Set the gravity of the window, as per the Gravity constants. This controls how the window manager is positioned in the overall window; it is only useful when using WRAP_CONTENT for the layout width or height.

Parameters:
gravity - The desired gravity constant.
See Also:
Gravity, setLayout(int, int)

setType

public void setType(int type)
Set the type of the window, as per the WindowManager.LayoutParams types.

Parameters:
type - The new window type (see WindowManager.LayoutParams).

setFormat

public void setFormat(int format)
Set the format of window, as per the PixelFormat types. This overrides the default format that is selected by the Window based on its window decorations.

Parameters:
format - The new window format (see PixelFormat). Use PixelFormat.UNKNOWN to allow the Window to select the format.
See Also:
PixelFormat

addFlags

public void addFlags(int flags)
Convenience function to set the flag bits as specified in flags, as per setFlags(int, int).

Parameters:
flags - The flag bits to be set.
See Also:
setFlags(int, int)

clearFlags

public void clearFlags(int flags)
Convenience function to clear the flag bits as specified in flags, as per setFlags(int, int).

Parameters:
flags - The flag bits to be cleared.
See Also:
setFlags(int, int)

setFlags

public void setFlags(int flags,
                     int mask)
Set the flags of the window, as per the WindowManager.LayoutParams flags.

Note that some flags must be set before the window decoration is created (by the first call to setContentView(View, android.view.ViewGroup.LayoutParams) or getDecorView(): WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN and WindowManager.LayoutParams.FLAG_LAYOUT_INSET_DECOR. These will be set for you based on the R.attr.windowIsFloating attribute.

Parameters:
flags - The new window flags (see WindowManager.LayoutParams).
mask - Which of the window flag bits to modify.

setAttributes

public void setAttributes(WindowManager.LayoutParams a)
Specify custom window attributes.

Parameters:
a - The new window attributes, which will completely override any current values.

getAttributes

public final WindowManager.LayoutParams getAttributes()
Retrieve the current window attributes associated with this panel.

Returns:
WindowManager.LayoutParams Either the existing window attributes object, or a freshly created one if there is none.

getForcedWindowFlags

protected final int getForcedWindowFlags()
Return the window flags that have been explicitly set by the client, so will not be modified by getDecorView().


requestFeature

public boolean requestFeature(int featureId)
Enable extended screen features. This must be called before setContentView(). May be called as many times as desired as long as it is before setContentView(). If not called, no extended features will be available. You can not turn off a feature once it is requested. You canot use other title features with FEATURE_CUSTOM_TITLE.

Parameters:
featureId - The desired features, defined as constants by Window.
Returns:
The features that are now set.

makeActive

public final void makeActive()

isActive

public final boolean isActive()

findViewById

public View findViewById(int id)
Finds a view that was identified by the id attribute from the XML that was processed in Activity.onCreate(android.os.Bundle). This will implicitly call getDecorView() for you, with all of the associated side-effects.

Returns:
The view if found or null otherwise.

setContentView

public abstract void setContentView(int layoutResID)
Convenience for setContentView(View, android.view.ViewGroup.LayoutParams) to set the screen content from a layout resource. The resource will be inflated, adding all top-level views to the screen.

Parameters:
layoutResID - Resource ID to be inflated.
See Also:
setContentView(View, android.view.ViewGroup.LayoutParams)

setContentView

public abstract void setContentView(View view)
Convenience for setContentView(View, android.view.ViewGroup.LayoutParams) set the screen content to an explicit view. This view is placed directly into the screen's view hierarchy. It can itself be a complex view hierarhcy.

Parameters:
view - The desired content to display.
See Also:
setContentView(View, android.view.ViewGroup.LayoutParams)

setContentView

public abstract void setContentView(View view,
                                    ViewGroup.LayoutParams params)
Set the screen content to an explicit view. This view is placed directly into the screen's view hierarchy. It can itself be a complex view hierarchy.

Note that calling this function "locks in" various characteristics of the window that can not, from this point forward, be changed: the features that have been requested with requestFeature(int), and certain window flags as described in setFlags(int, int).

Parameters:
view - The desired content to display.
params - Layout parameters for the view.

addContentView

public abstract void addContentView(View view,
                                    ViewGroup.LayoutParams params)
Variation on setContentView(View, android.view.ViewGroup.LayoutParams) to add an additional content view to the screen. Added after any existing ones in the screen -- existing views are NOT removed.

Parameters:
view - The desired content to display.
params - Layout parameters for the view.

getCurrentFocus

public abstract View getCurrentFocus()
Return the view in this Window that currently has focus, or null if there are none. Note that this does not look in any containing Window.

Returns:
View The current View with focus or null.

getLayoutInflater

public abstract LayoutInflater getLayoutInflater()
Quick access to the LayoutInflater instance that this Window retrieved from its Context.

Returns:
LayoutInflater The shared LayoutInflater.

setTitle

public abstract void setTitle(CharSequence title)

setTitleColor

public abstract void setTitleColor(int textColor)

openPanel

public abstract void openPanel(int featureId,
                               KeyEvent event)

closePanel

public abstract void closePanel(int featureId)

togglePanel

public abstract void togglePanel(int featureId,
                                 KeyEvent event)

performPanelShortcut

public abstract boolean performPanelShortcut(int featureId,
                                             int keyCode,
                                             KeyEvent event,
                                             int flags)

performPanelIdentifierAction

public abstract boolean performPanelIdentifierAction(int featureId,
                                                     int id,
                                                     int flags)

closeAllPanels

public abstract void closeAllPanels()

performContextMenuIdentifierAction

public abstract boolean performContextMenuIdentifierAction(int id,
                                                           int flags)

onConfigurationChanged

public abstract void onConfigurationChanged(Configuration newConfig)
Should be called when the configuration is changed.

Parameters:
newConfig - The new configuration.

setBackgroundDrawableResource

public void setBackgroundDrawableResource(int resid)
Change the background of this window to a Drawable resource. Setting the background to null will make the window be opaque. To make the window transparent, you can use an empty drawable (for instance a ColorDrawable with the color 0 or the system drawable android:drawable/empty.)

Parameters:
resid - The resource identifier of a drawable resource which will be installed as the new background.

setBackgroundDrawable

public abstract void setBackgroundDrawable(Drawable drawable)
Change the background of this window to a custom Drawable. Setting the background to null will make the window be opaque. To make the window transparent, you can use an empty drawable (for instance a ColorDrawable with the color 0 or the system drawable android:drawable/empty.)

Parameters:
drawable - The new Drawable to use for this window's background.

setFeatureDrawableResource

public abstract void setFeatureDrawableResource(int featureId,
                                                int resId)
Set the value for a drawable feature of this window, from a resource identifier. You must have called requestFeauture(featureId) before calling this function.

Parameters:
featureId - The desired drawable feature to change, defined as a constant by Window.
resId - Resource identifier of the desired image.
See Also:
Resources.getDrawable(int)

setFeatureDrawableUri

public abstract void setFeatureDrawableUri(int featureId,
                                           Uri uri)
Set the value for a drawable feature of this window, from a URI. You must have called requestFeature(featureId) before calling this function.

The only URI currently supported is "content:", specifying an image in a content provider.

Parameters:
featureId - The desired drawable feature to change. Features are constants defined by Window.
uri - The desired URI.
See Also:
ImageView.setImageURI(android.net.Uri)

setFeatureDrawable

public abstract void setFeatureDrawable(int featureId,
                                        Drawable drawable)
Set an explicit Drawable value for feature of this window. You must have called requestFeature(featureId) before calling this function.

Parameters:
featureId - The desired drawable feature to change. Features are constants defined by Window.
drawable - A Drawable object to display.

setFeatureDrawableAlpha

public abstract void setFeatureDrawableAlpha(int featureId,
                                             int alpha)
Set a custom alpha value for the given drawale feature, controlling how much the background is visible through it.

Parameters:
featureId - The desired drawable feature to change. Features are constants defined by Window.
alpha - The alpha amount, 0 is completely transparent and 255 is completely opaque.

setFeatureInt

public abstract void setFeatureInt(int featureId,
                                   int value)
Set the integer value for a feature. The range of the value depends on the feature being set. For FEATURE_PROGRESSS, it should go from 0 to 10000. At 10000 the progress is complete and the indicator hidden.

Parameters:
featureId - The desired feature to change. Features are constants defined by Window.
value - The value for the feature. The interpretation of this value is feature-specific.

takeKeyEvents

public abstract void takeKeyEvents(boolean get)
Request that key events come to this activity. Use this if your activity has no views with focus, but the activity still wants a chance to process key events.


superDispatchKeyEvent

public abstract boolean superDispatchKeyEvent(KeyEvent event)
Used by custom windows, such as Dialog, to pass the key press event further down the view hierarchy. Application developers should not need to implement or call this.


superDispatchTouchEvent

public abstract boolean superDispatchTouchEvent(MotionEvent event)
Used by custom windows, such as Dialog, to pass the touch screen event further down the view hierarchy. Application developers should not need to implement or call this.


superDispatchTrackballEvent

public abstract boolean superDispatchTrackballEvent(MotionEvent event)
Used by custom windows, such as Dialog, to pass the trackball event further down the view hierarchy. Application developers should not need to implement or call this.


getDecorView

public abstract View getDecorView()
Retrieve the top-level window decor view (containing the standard window frame/decorations and the client's content inside of that), which can be added as a window to the window manager.

Note that calling this function for the first time "locks in" various window characteristics as described in setContentView(View, android.view.ViewGroup.LayoutParams).

Returns:
Returns the top-level window decor view.

peekDecorView

public abstract View peekDecorView()
Retrieve the current decor view, but only if it has already been created; otherwise returns null.

Returns:
Returns the top-level window decor or null.
See Also:
getDecorView()

saveHierarchyState

public abstract Bundle saveHierarchyState()

restoreHierarchyState

public abstract void restoreHierarchyState(Bundle savedInstanceState)

onActive

protected abstract void onActive()

getFeatures

protected final int getFeatures()
Return the feature bits that are enabled. This is the set of features that were given to requestFeature(), and are being handled by this Window itself or its container. That is, it is the set of requested features that you can actually use.

To do: add a public version of this API that allows you to check for features by their feature ID.

Returns:
int The feature bits.

getLocalFeatures

protected final int getLocalFeatures()
Return the feature bits that are being implemented by this Window. This is the set of features that were given to requestFeature(), and are being handled by only this Window itself, not by its containers.

Returns:
int The feature bits.

setDefaultWindowFormat

protected void setDefaultWindowFormat(int format)
Set the default format of window, as per the PixelFormat types. This is the format that will be used unless the client specifies in explicit format with setFormat();

Parameters:
format - The new window format (see PixelFormat).
See Also:
setFormat(int), PixelFormat

setChildDrawable

public abstract void setChildDrawable(int featureId,
                                      Drawable drawable)

setChildInt

public abstract void setChildInt(int featureId,
                                 int value)

isShortcutKey

public abstract boolean isShortcutKey(int keyCode,
                                      KeyEvent event)
Is a keypress one of the defined shortcut keys for this window.

Parameters:
keyCode - the key code from KeyEvent to check.
event - the KeyEvent to use to help check.

setVolumeControlStream

public abstract void setVolumeControlStream(int streamType)
See Also:
Activity.setVolumeControlStream(int)

getVolumeControlStream

public abstract int getVolumeControlStream()
See Also:
Activity.getVolumeControlStream()

Build 1.0_r1(from source)

Please submit a feedback, bug or feature