Android
android.webkit
public class

android.webkit.WebView

java.lang.Object
android.view.View Drawable.Callback KeyEvent.Callback
android.view.ViewGroup ViewManager ViewParent
android.widget.AbsoluteLayout
android.webkit.WebView ViewGroup.OnHierarchyChangeListener ViewTreeObserver.OnGlobalFocusChangeListener

A View that displays web pages. This class is the basis upon which you can roll your own web browser or simply display some online content within your Activity. It uses the WebKit rendering engine to display web pages and includes methods to navigate forward and backward through a history, zoom in and out, perform text searches and more.

Note that, in order for your Activity to access the Internet and load web pages in a WebView, you must add the INTERNET permissions to your Android Manifest file:

<uses-permission android:name="android.permission.INTERNET" />

This must be a child of the <manifest> element.

Nested Classes
WebView.HitTestResult  
WebView.PictureListener Interface to listen for new pictures as they change. 
WebView.WebViewTransport Transportation object for returning WebView across thread boundaries. 

Summary

XML Attributes inherited from class android.view.ViewGroup
XML Attributes inherited from class android.view.View

Constants

      Value  
String  SCHEME_GEO  URI scheme for map address   "geo:0,0?q=" 
String  SCHEME_MAILTO  URI scheme for email address   "mailto:" 
String  SCHEME_TEL  URI scheme for telephone number   "tel:" 
Constants inherited from class android.view.ViewGroup
Constants inherited from class android.view.View

Public Constructors

            WebView(Context context)
Construct a new WebView with a Context object.
            WebView(Context context, AttributeSet attrs)
Construct a new WebView with layout parameters.
            WebView(Context context, AttributeSet attrs, int defStyle)
Construct a new WebView with layout parameters and a default style.

Public Methods

          void  addJavascriptInterface(Object obj, String interfaceName)
Use this function to bind a Java object to Javascript so that the methods can be accessed from Javascript.
          boolean  canGoBack()
Return true if this WebView has a back history item.
          boolean  canGoBackOrForward(int steps)
Return true if the page can go back or forward the given number of steps.
          boolean  canGoForward()
Return true if this WebView has a forward history item.
          Picture  capturePicture()
Return a new picture that captures the current display of the webview.
          void  clearCache(boolean includeDiskFiles)
Clear the resource cache.
          void  clearFormData()
Make sure that clearing the form data removes the adapter from the currently focused textfield if there is one.
          void  clearHistory()
Tell the WebView to clear its internal back/forward list.
          void  clearSslPreferences()
Clear the SSL preferences table stored in response to proceeding with SSL certificate errors.
          void  clearView()
Clear the view so that onDraw() will draw nothing but white background, and onMeasure() will return 0 if MeasureSpec is not MeasureSpec.EXACTLY
          void  computeScroll()
Called by a parent to request that a child update its values for mScrollX and mScrollY if necessary.
          WebBackForwardList  copyBackForwardList()
Return the WebBackForwardList for this WebView.
          void  debugDump()
          void  destroy()
Destroy the internal state of the WebView.
      static    void  disablePlatformNotifications()
If platform notifications are enabled, this should be called from onPause() or onStop().
          boolean  dispatchKeyEvent(KeyEvent event)
Dispatch a key event to the next view on the focus path.
          void  documentHasImages(Message response)
Query the document to see if it contains any image references.
      static    void  enablePlatformNotifications()
Enables platform notifications of data state and proxy changes.
      static    String  findAddress(String addr)
Return the first substring consisting of the address of a physical location.
          void  flingScroll(int vx, int vy)
          SslCertificate  getCertificate()
          int  getContentHeight()
          Bitmap  getFavicon()
Get the favicon for the current page.
          WebView.HitTestResult  getHitTestResult()
Return a HitTestResult based on the current focus node.
          String[]  getHttpAuthUsernamePassword(String host, String realm)
Retrieve the HTTP authentication username and password for a given host & realm pair
  synchronized    static    PluginList  getPluginList()
Return the list of currently loaded plugins.
          int  getProgress()
Get the progress for the current page.
          float  getScale()
Return the current scale of the WebView
          WebSettings  getSettings()
Return the WebSettings object used to control the settings for this WebView.
          String  getTitle()
Get the title for the current page.
          String  getUrl()
Get the url for the current page.
          View  getZoomControls()
Returns a view containing zoom controls i.e.
          void  goBack()
Go back in the history of this WebView.
          void  goBackOrForward(int steps)
Go to the history item that is the number of steps away from the current item.
          void  goForward()
Go forward in the history of this WebView.
          void  invokeZoomPicker()
Invoke the graphical zoom picker widget for this WebView.
          void  loadData(String data, String mimeType, String encoding)
Load the given data into the WebView.
          void  loadDataWithBaseURL(String baseUrl, String data, String mimeType, String encoding, String failUrl)
Load the given data into the WebView, use the provided URL as the base URL for the content.
          void  loadUrl(String url)
Load the given url.
          void  onChildViewAdded(View parent, View child)
Called when a new child is added to a parent view.
          void  onChildViewRemoved(View p, View child)
Called when a child is removed from a parent view.
          void  onGlobalFocusChanged(View oldFocus, View newFocus)
Callback method to be invoked when the focus changes in the view tree.
          boolean  onKeyDown(int keyCode, KeyEvent event)
Default implementation of KeyEvent.Callback.onKeyMultiple(): perform press of the view when KEYCODE_DPAD_CENTER or KEYCODE_ENTER is released, if the view is enabled and clickable.
          boolean  onKeyUp(int keyCode, KeyEvent event)
Default implementation of KeyEvent.Callback.onKeyMultiple(): perform clicking of the view when KEYCODE_DPAD_CENTER or KEYCODE_ENTER is released.
          boolean  onTouchEvent(MotionEvent ev)
Implement this method to handle touch screen motion events.
          boolean  onTrackballEvent(MotionEvent ev)
Implement this method to handle trackball motion events.
          void  onWindowFocusChanged(boolean hasWindowFocus)
Called when the window containing this view gains or loses focus.
          boolean  overlayHorizontalScrollbar()
Return whether horizontal scrollbar has overlay style
          boolean  overlayVerticalScrollbar()
Return whether vertical scrollbar has overlay style
          boolean  pageDown(boolean bottom)
Scroll the contents of the view down by half the page size
          boolean  pageUp(boolean top)
Scroll the contents of the view up by half the view size
          void  pauseTimers()
Pause all layout, parsing, and javascript timers.
          boolean  performLongClick()
Call this view's OnLongClickListener, if it is defined.
          void  refreshPlugins(boolean reloadOpenPages)
Signal the WebCore thread to refresh its list of plugins.
          void  reload()
Reload the current url.
          boolean  requestChildRectangleOnScreen(View child, Rect rect, boolean immediate)
Called when a child of this group wants a particular rectangle to be positioned onto the screen.
          boolean  requestFocus(int direction, Rect previouslyFocusedRect)
Call this to try to give focus to a specific view or to one of its descendants and give it hints about the direction and a specific rectangle that the focus is coming from. Looks for a view to give focus to respecting the setting specified by getDescendantFocusability().
          void  requestFocusNodeHref(Message hrefMsg)
Request the href of an anchor element due to getFocusNodePath returning "href." If hrefMsg is null, this method returns immediately and does not dispatch hrefMsg to its target.
          void  requestImageRef(Message msg)
Request the url of the image last touched by the user.
          WebBackForwardList  restoreState(Bundle inState)
Restore the state of this WebView from the given map used in Activity.onThaw.
          void  resumeTimers()
Resume all layout, parsing, and javascript timers.
          void  savePassword(String host, String username, String password)
Save the username and password for a particular host in the WebView's internal database.
          WebBackForwardList  saveState(Bundle outState)
Save the state of this WebView used in Activity.onSaveInstanceState.
          void  setBackgroundColor(int color)
Set the background color.
          void  setCertificate(SslCertificate certificate)
Sets the SSL certificate for the main top-level page.
          void  setDownloadListener(DownloadListener listener)
Register the interface to be used when content can not be handled by the rendering engine, and should be downloaded instead.
          void  setHorizontalScrollbarOverlay(boolean overlay)
Specify whether the horizontal scrollbar has overlay style.
          void  setHttpAuthUsernamePassword(String host, String realm, String username, String password)
Set the HTTP authentication credentials for a given host and realm.
          void  setInitialScale(int scaleInPercent)
Set the initial scale for the WebView.
          void  setLayoutParams(ViewGroup.LayoutParams params)
Set the layout parameters associated with this view.
          void  setMapTrackballToArrowKeys(boolean setMap)
          void  setPictureListener(WebView.PictureListener listener)
Set the Picture listener.
          void  setScrollBarStyle(int style)

Specify the style of the scrollbars.

          void  setVerticalScrollbarOverlay(boolean overlay)
Specify whether the vertical scrollbar has overlay style.
          void  setWebChromeClient(WebChromeClient client)
Set the chrome handler.
          void  setWebViewClient(WebViewClient client)
Set the WebViewClient that will receive various notifications and requests.
          void  stopLoading()
Stop the current load.
          boolean  zoomIn()
Perform zoom in in the webview
          boolean  zoomOut()
Perform zoom out in the webview

Protected Methods

          int  computeHorizontalScrollRange()

Compute the horizontal range that the horizontal scrollbar represents.

          int  computeVerticalScrollRange()

Compute the vertical range that the vertical scrollbar represents.

          void  finalize()
Called by the virtual machine when there are no longer any (non-weak) references to the receiver.
          void  onAttachedToWindow()
This is called when the view is attached to a window.
          void  onDetachedFromWindow()
This is called when the view is detached from a window.
          void  onDraw(Canvas canvas)
Implement this to do your drawing.
          void  onFocusChanged(boolean focused, int direction, Rect previouslyFocusedRect)
Called by the view system when the focus state of this view changes.
          void  onMeasure(int widthMeasureSpec, int heightMeasureSpec)

Measure the view and its content to determine the measured width and the measured height.

          void  onScrollChanged(int l, int t, int oldl, int oldt)
This is called in response to an internal scroll in this view (i.e., the view scrolled its own contents).
          void  onSizeChanged(int w, int h, int ow, int oh)
This is called during layout when the size of this view has changed.
Methods inherited from class android.widget.AbsoluteLayout
Methods inherited from class android.view.ViewGroup
Methods inherited from class android.view.View
Methods inherited from class java.lang.Object
Methods inherited from interface android.graphics.drawable.Drawable.Callback
Methods inherited from interface android.view.KeyEvent.Callback
Methods inherited from interface android.view.ViewGroup.OnHierarchyChangeListener
Methods inherited from interface android.view.ViewManager
Methods inherited from interface android.view.ViewParent
Methods inherited from interface android.view.ViewTreeObserver.OnGlobalFocusChangeListener

Details

Constants

public static final String SCHEME_GEO

URI scheme for map address
Constant Value: "geo:0,0?q="

public static final String SCHEME_MAILTO

URI scheme for email address
Constant Value: "mailto:"

public static final String SCHEME_TEL

URI scheme for telephone number
Constant Value: "tel:"

Public Constructors

public WebView(Context context)

Construct a new WebView with a Context object.

Parameters

context A Context object used to access application assets.

public WebView(Context context, AttributeSet attrs)

Construct a new WebView with layout parameters.

Parameters

context A Context object used to access application assets.
attrs An AttributeSet passed to our parent.

public WebView(Context context, AttributeSet attrs, int defStyle)

Construct a new WebView with layout parameters and a default style.

Parameters

context A Context object used to access application assets.
attrs An AttributeSet passed to our parent.
defStyle The default style resource ID.

Public Methods

public void addJavascriptInterface(Object obj, String interfaceName)

Use this function to bind a Java object to Javascript so that the methods can be accessed from Javascript. IMPORTANT, the Java object that is bound runs in another thread and not in the thread that it was constructed in.

Parameters

obj The class instance to bind to Javascript
interfaceName The name to used to expose the class in Javascript

public boolean canGoBack()

Return true if this WebView has a back history item.

Returns

  • True iff this WebView has a back history item.

public boolean canGoBackOrForward(int steps)

Return true if the page can go back or forward the given number of steps.

Parameters

steps The negative or positive number of steps to move the history.

public boolean canGoForward()

Return true if this WebView has a forward history item.

Returns

  • True iff this Webview has a forward history item.

public Picture capturePicture()

Return a new picture that captures the current display of the webview. This is a copy of the display, and will be unaffected if the webview later loads a different URL.

Returns

  • a picture containing the current contents of the view. Note this picture is of the entire document, and is not restricted to the bounds of the view.

public void clearCache(boolean includeDiskFiles)

Clear the resource cache. This will cause resources to be re-downloaded if accessed again.

Note: this really needs to be a static method as it clears cache for all WebView. But we need mWebViewCore to send message to WebCore thread, so we can't make this static.

public void clearFormData()

Make sure that clearing the form data removes the adapter from the currently focused textfield if there is one.

public void clearHistory()

Tell the WebView to clear its internal back/forward list.

public void clearSslPreferences()

Clear the SSL preferences table stored in response to proceeding with SSL certificate errors.

public void clearView()

Clear the view so that onDraw() will draw nothing but white background, and onMeasure() will return 0 if MeasureSpec is not MeasureSpec.EXACTLY

public void computeScroll()

Called by a parent to request that a child update its values for mScrollX and mScrollY if necessary. This will typically be done if the child is animating a scroll using a Scroller object.

public WebBackForwardList copyBackForwardList()

Return the WebBackForwardList for this WebView. This contains the back/forward list for use in querying each item in the history stack. This is a copy of the private WebBackForwardList so it contains only a snapshot of the current state. Multiple calls to this method may return different objects. The object returned from this method will not be updated to reflect any new state.

public void debugDump()

public void destroy()

Destroy the internal state of the WebView. This method should be called after the WebView has been removed from the view system. No other methods may be called on a WebView after destroy.

public static void disablePlatformNotifications()

If platform notifications are enabled, this should be called from onPause() or onStop().

public boolean dispatchKeyEvent(KeyEvent event)

Dispatch a key event to the next view on the focus path. This path runs from the top of the view tree down to the currently focused view. If this view has focus, it will dispatch to itself. Otherwise it will dispatch the next node down the focus path. This method also fires any key listeners.

Parameters

event The key event to be dispatched.

Returns

  • True if the event was handled, false otherwise.

public void documentHasImages(Message response)

Query the document to see if it contains any image references. The message object will be dispatched with arg1 being set to 1 if images were found and 0 if the document does not reference any images.

Parameters

response The message that will be dispatched with the result.

public static void enablePlatformNotifications()

Enables platform notifications of data state and proxy changes.

public static String findAddress(String addr)

Return the first substring consisting of the address of a physical location. Currently, only addresses in the United States are detected, and consist of: - a house number - a street name - a street type (Road, Circle, etc), either spelled out or abbreviated - a city name - a state or territory, either spelled out or two-letter abbr. - an optional 5 digit or 9 digit zip code. All names must be correctly capitalized, and the zip code, if present, must be valid for the state. The street type must be a standard USPS spelling or abbreviation. The state or territory must also be spelled or abbreviated using USPS standards. The house number may not exceed five digits.

Parameters

addr The string to search for addresses.

Returns

  • the address, or if no address is found, return null.

public void flingScroll(int vx, int vy)

public SslCertificate getCertificate()

Returns

  • The SSL certificate for the main top-level page or null if there is no certificate (the site is not secure).

public int getContentHeight()

Returns

  • the height of the HTML content.

public Bitmap getFavicon()

Get the favicon for the current page. This is the favicon of the current page until WebViewClient.onReceivedIcon is called.

Returns

  • The favicon for the current page.

public WebView.HitTestResult getHitTestResult()

Return a HitTestResult based on the current focus node. If a HTML::a tag is found, the HitTestResult type is set to ANCHOR_TYPE and the url has to be retrieved through requestFocusNodeHref(Message) asynchronously. If a HTML::img tag is found, the HitTestResult type is set to IMAGE_TYPE and the url has to be retrieved through requestFocusNodeHref(Message) asynchronously. If a phone number is found, the HitTestResult type is set to PHONE_TYPE and the phone number is set in the "extra" field of HitTestResult. If a map address is found, the HitTestResult type is set to GEO_TYPE and the address is set in the "extra" field of HitTestResult. If an email address is found, the HitTestResult type is set to EMAIL_TYPE and the email is set in the "extra" field of HitTestResult. Otherwise, HitTestResult type is set to UNKNOWN_TYPE.

public String[] getHttpAuthUsernamePassword(String host, String realm)

Retrieve the HTTP authentication username and password for a given host & realm pair

Parameters

host The host for which the credentials apply.
realm The realm for which the credentials apply.

Returns

  • String[] if found, String[0] is username, which can be null and String[1] is password. Return null if it can't find anything.

public static synchronized PluginList getPluginList()

Return the list of currently loaded plugins.

Returns

  • The list of currently loaded plugins.

public int getProgress()

Get the progress for the current page.

Returns

  • The progress for the current page between 0 and 100.

public float getScale()

Return the current scale of the WebView

Returns

  • The current scale.

public WebSettings getSettings()

Return the WebSettings object used to control the settings for this WebView.

Returns

  • A WebSettings object that can be used to control this WebView's settings.

public String getTitle()

Get the title for the current page. This is the title of the current page until WebViewClient.onReceivedTitle is called.

Returns

  • The title for the current page.

public String getUrl()

Get the url for the current page. This is not always the same as the url passed to WebViewClient.onPageStarted because although the load for that url has begun, the current page may not have changed.

Returns

  • The url for the current page.

public View getZoomControls()

Returns a view containing zoom controls i.e. +/- buttons. The caller is in charge of installing this view to the view hierarchy. This view will become visible when the user starts scrolling via touch and fade away if the user does not interact with it.

public void goBack()

Go back in the history of this WebView.

public void goBackOrForward(int steps)

Go to the history item that is the number of steps away from the current item. Steps is negative if backward and positive if forward.

Parameters

steps The number of steps to take back or forward in the back forward list.

public void goForward()

Go forward in the history of this WebView.

public void invokeZoomPicker()

Invoke the graphical zoom picker widget for this WebView. This will result in the zoom widget appearing on the screen to control the zoom level of this WebView.

public void loadData(String data, String mimeType, String encoding)

Load the given data into the WebView. This will load the data into WebView using the data: scheme. Content loaded through this mechanism does not have the ability to load content from the network.

Parameters

data A String of data in the given encoding.
mimeType The MIMEType of the data. i.e. text/html, image/jpeg
encoding The encoding of the data. i.e. utf-8, base64

public void loadDataWithBaseURL(String baseUrl, String data, String mimeType, String encoding, String failUrl)

Load the given data into the WebView, use the provided URL as the base URL for the content. The base URL is the URL that represents the page that is loaded through this interface. As such, it is used for the history entry and to resolve any relative URLs. The failUrl is used if browser fails to load the data provided. If it is empty or null, and the load fails, then no history entry is created.

Parameters

baseUrl Url to resolve relative paths with, if null defaults to "about:blank"
data A String of data in the given encoding.
mimeType The MIMEType of the data. i.e. text/html. If null, defaults to "text/html"
encoding The encoding of the data. i.e. utf-8, us-ascii
failUrl URL to use if the content fails to load or null.

public void loadUrl(String url)

Load the given url.

Parameters

url The url of the resource to load.

public void onChildViewAdded(View parent, View child)

Called when a new child is added to a parent view.

Parameters

parent the view in which a child was added
child the new child view added in the hierarchy

public void onChildViewRemoved(View p, View child)

Called when a child is removed from a parent view.

Parameters

p the view from which the child was removed
child the child removed from the hierarchy

public void onGlobalFocusChanged(View oldFocus, View newFocus)

Callback method to be invoked when the focus changes in the view tree. When the view tree transitions from touch mode to non-touch mode, oldFocus is null. When the view tree transitions from non-touch mode to touch mode, newFocus is null. When focus changes in non-touch mode (without transition from or to touch mode) either oldFocus or newFocus can be null.

Parameters

oldFocus The previously focused view, if any.
newFocus The newly focused View, if any.

public boolean onKeyDown(int keyCode, KeyEvent event)

Default implementation of KeyEvent.Callback.onKeyMultiple(): perform press of the view when KEYCODE_DPAD_CENTER or KEYCODE_ENTER is released, if the view is enabled and clickable.

Parameters

keyCode A key code that represents the button pressed, from KeyEvent.
event The KeyEvent object that defines the button action.

Returns

  • If you handled the event, return true. If you want to allow the event to be handled by the next receiver, return false.

public boolean onKeyUp(int keyCode, KeyEvent event)

Default implementation of KeyEvent.Callback.onKeyMultiple(): perform clicking of the view when KEYCODE_DPAD_CENTER or KEYCODE_ENTER is released.

Parameters

keyCode A key code that represents the button pressed, from KeyEvent.
event The KeyEvent object that defines the button action.

Returns

  • If you handled the event, return true. If you want to allow the event to be handled by the next receiver, return false.

public boolean onTouchEvent(MotionEvent ev)

Implement this method to handle touch screen motion events.

Parameters

ev The motion event.

Returns

  • True if the event was handled, false otherwise.

public boolean onTrackballEvent(MotionEvent ev)

Implement this method to handle trackball motion events. The relative movement of the trackball since the last event can be retrieve with MotionEvent.getX() and MotionEvent.getY(). These are normalized so that a movement of 1 corresponds to the user pressing one DPAD key (so they will often be fractional values, representing the more fine-grained movement information available from a trackball).

Parameters

ev The motion event.

Returns

  • True if the event was handled, false otherwise.

public void onWindowFocusChanged(boolean hasWindowFocus)

Called when the window containing this view gains or loses focus. Note that this is separate from view focus: to receive key events, both your view and its window must have focus. If a window is displayed on top of yours that takes input focus, then your own window will lose focus but the view focus will remain unchanged.

Parameters

hasWindowFocus True if the window containing this view now has focus, false otherwise.

public boolean overlayHorizontalScrollbar()

Return whether horizontal scrollbar has overlay style

Returns

  • TRUE if horizontal scrollbar has overlay style.

public boolean overlayVerticalScrollbar()

Return whether vertical scrollbar has overlay style

Returns

  • TRUE if vertical scrollbar has overlay style.

public boolean pageDown(boolean bottom)

Scroll the contents of the view down by half the page size

Parameters

bottom true to jump to bottom of page

Returns

  • true if the page was scrolled

public boolean pageUp(boolean top)

Scroll the contents of the view up by half the view size

Parameters

top true to jump to the top of the page

Returns

  • true if the page was scrolled

public void pauseTimers()

Pause all layout, parsing, and javascript timers. This can be useful if the WebView is not visible or the application has been paused.

public boolean performLongClick()

Call this view's OnLongClickListener, if it is defined. Invokes the context menu if the OnLongClickListener did not consume the event.

Returns

  • True there was an assigned OnLongClickListener that was called, false otherwise is returned.

public void refreshPlugins(boolean reloadOpenPages)

Signal the WebCore thread to refresh its list of plugins. Use this if the directory contents of one of the plugin directories has been modified and needs its changes reflecting. May cause plugin load and/or unload.

Parameters

reloadOpenPages Set to true to reload all open pages.

public void reload()

Reload the current url.

public boolean requestChildRectangleOnScreen(View child, Rect rect, boolean immediate)

Called when a child of this group wants a particular rectangle to be positioned onto the screen. ViewGroups overriding this can trust that:
  • child will be a direct child of this group
  • rectangle will be in the child's coordinates

ViewGroups overriding this should uphold the contract:

  • nothing will change if the rectangle is already visible
  • the view port will be scrolled only just enough to make the rectangle visible
    • Parameters

      child The direct child making the request.
      rect The rectangle in the child's coordinates the child wishes to be on the screen.
      immediate True to forbid animated or delayed scrolling, false otherwise

      Returns

      • Whether the group scrolled to handle the operation

public boolean requestFocus(int direction, Rect previouslyFocusedRect)

Call this to try to give focus to a specific view or to one of its descendants and give it hints about the direction and a specific rectangle that the focus is coming from. The rectangle can help give larger views a finer grained hint about where focus is coming from, and therefore, where to show selection, or forward focus change internally. A view will not actually take focus if it is not focusable (isFocusable() returns false), or if it is focusable and it is not focusable in touch mode (isFocusableInTouchMode()) while the device is in touch mode. A View will not take focus if it is not visible. A View will not take focus if one of its parents has getDescendantFocusability() equal to FOCUS_BLOCK_DESCENDANTS. See also focusSearch(int), which is what you call to say that you have focus, and you want your parent to look for the next one. You may wish to override this method if your custom View has an internal View that it wishes to forward the request to. Looks for a view to give focus to respecting the setting specified by getDescendantFocusability(). Uses onRequestFocusInDescendants(int, android.graphics.Rect) to find focus within the children of this group when appropriate.

Parameters

direction One of FOCUS_UP, FOCUS_DOWN, FOCUS_LEFT, and FOCUS_RIGHT
previouslyFocusedRect The rectangle (in this View's coordinate system) to give a finer grained hint about where focus is coming from. May be null if there is no hint.

Returns

  • Whether this view or one of its descendants actually took focus.

public void requestFocusNodeHref(Message hrefMsg)

Request the href of an anchor element due to getFocusNodePath returning "href." If hrefMsg is null, this method returns immediately and does not dispatch hrefMsg to its target.

Parameters

hrefMsg This message will be dispatched with the result of the request as the data member with "url" as key. The result can be null.

public void requestImageRef(Message msg)

Request the url of the image last touched by the user. msg will be sent to its target with a String representing the url as its object.

Parameters

msg This message will be dispatched with the result of the request as the data member with "url" as key. The result can be null.

public WebBackForwardList restoreState(Bundle inState)

Restore the state of this WebView from the given map used in Activity.onThaw. This method should be called to restore the state of the WebView before using the object. If it is called after the WebView has had a chance to build state (load pages, create a back/forward list, etc.) there may be undesirable side-effects.

Parameters

inState The incoming Bundle of state.

Returns

  • The restored back/forward list or null if restoreState failed.

public void resumeTimers()

Resume all layout, parsing, and javascript timers. This will resume dispatching all timers.

public void savePassword(String host, String username, String password)

Save the username and password for a particular host in the WebView's internal database.

Parameters

host The host that required the credentials.
username The username for the given host.
password The password for the given host.

public WebBackForwardList saveState(Bundle outState)

Save the state of this WebView used in Activity.onSaveInstanceState.

Parameters

outState The Bundle to store the WebView state.

Returns

  • The same copy of the back/forward list used to save the state. If saveState fails, the returned list will be null.

public void setBackgroundColor(int color)

Set the background color. It's white by default. Pass zero to make the view transparent.

Parameters

color the ARGB color described by Color.java

public void setCertificate(SslCertificate certificate)

Sets the SSL certificate for the main top-level page.

public void setDownloadListener(DownloadListener listener)

Register the interface to be used when content can not be handled by the rendering engine, and should be downloaded instead. This will replace the current handler.

Parameters

listener An implementation of DownloadListener.

public void setHorizontalScrollbarOverlay(boolean overlay)

Specify whether the horizontal scrollbar has overlay style.

Parameters

overlay TRUE if horizontal scrollbar should have overlay style.

public void setHttpAuthUsernamePassword(String host, String realm, String username, String password)

Set the HTTP authentication credentials for a given host and realm.

Parameters

host The host for the credentials.
realm The realm for the credentials.
username The username for the password. If it is null, it means password can't be saved.
password The password

public void setInitialScale(int scaleInPercent)

Set the initial scale for the WebView. 0 means default. If getUseWideViewPort() is true, it zooms out all the way. Otherwise it starts with 100%. If initial scale is greater than 0, WebView starts will this value as initial scale.

Parameters

scaleInPercent The initial scale in percent.

public void setLayoutParams(ViewGroup.LayoutParams params)

Set the layout parameters associated with this view. These supply parameters to the parent of this view specifying how it should be arranged. There are many subclasses of ViewGroup.LayoutParams, and these correspond to the different subclasses of ViewGroup that are responsible for arranging their children.

Parameters

params the layout parameters for this view

public void setMapTrackballToArrowKeys(boolean setMap)

public void setPictureListener(WebView.PictureListener listener)

Set the Picture listener. This is an interface used to receive notifications of a new Picture.

Parameters

listener An implementation of WebView.PictureListener.

public void setScrollBarStyle(int style)

Specify the style of the scrollbars. The scrollbars can be overlaid or inset. When inset, they add to the padding of the view. And the scrollbars can be drawn inside the padding area or on the edge of the view. For example, if a view has a background drawable and you want to draw the scrollbars inside the padding specified by the drawable, you can use SCROLLBARS_INSIDE_OVERLAY or SCROLLBARS_INSIDE_INSET. If you want them to appear at the edge of the view, ignoring the padding, then you can use SCROLLBARS_OUTSIDE_OVERLAY or SCROLLBARS_OUTSIDE_INSET.

Parameters

style the style of the scrollbars. Should be one of SCROLLBARS_INSIDE_OVERLAY, SCROLLBARS_INSIDE_INSET, SCROLLBARS_OUTSIDE_OVERLAY or SCROLLBARS_OUTSIDE_INSET.

public void setVerticalScrollbarOverlay(boolean overlay)

Specify whether the vertical scrollbar has overlay style.

Parameters

overlay TRUE if vertical scrollbar should have overlay style.

public void setWebChromeClient(WebChromeClient client)

Set the chrome handler. This is an implementation of WebChromeClient for use in handling Javascript dialogs, favicons, titles, and the progress. This will replace the current handler.

Parameters

client An implementation of WebChromeClient.

public void setWebViewClient(WebViewClient client)

Set the WebViewClient that will receive various notifications and requests. This will replace the current handler.

Parameters

client An implementation of WebViewClient.

public void stopLoading()

Stop the current load.

public boolean zoomIn()

Perform zoom in in the webview

Returns

  • TRUE if zoom in succeeds. FALSE if no zoom changes.

public boolean zoomOut()

Perform zoom out in the webview

Returns

  • TRUE if zoom out succeeds. FALSE if no zoom changes.

Protected Methods

protected int computeHorizontalScrollRange()

Compute the horizontal range that the horizontal scrollbar represents.

The range is expressed in arbitrary units that must be the same as the units used by computeHorizontalScrollExtent() and computeHorizontalScrollOffset().

The default range is the drawing width of this view.

Returns

  • the total horizontal range represented by the horizontal scrollbar

protected int computeVerticalScrollRange()

Compute the vertical range that the vertical scrollbar represents.

The range is expressed in arbitrary units that must be the same as the units used by computeVerticalScrollExtent() and computeVerticalScrollOffset().

Returns

  • the total vertical range represented by the vertical scrollbar

    The default range is the drawing height of this view.

protected void finalize()

Called by the virtual machine when there are no longer any (non-weak) references to the receiver. Subclasses can use this facility to guarantee that any associated resources are cleaned up before the receiver is garbage collected. Uncaught exceptions which are thrown during the running of the method cause it to terminate immediately, but are otherwise ignored.

Note: The virtual machine assumes that the implementation in class Object is empty.

Throws

Throwable

protected void onAttachedToWindow()

This is called when the view is attached to a window. At this point it has a Surface and will start drawing. Note that this function is guaranteed to be called before onDraw(Canvas), however it may be called any time before the first onDraw -- including before or after onMeasure(int, int).

protected void onDetachedFromWindow()

This is called when the view is detached from a window. At this point it no longer has a surface for drawing.

protected void onDraw(Canvas canvas)

Implement this to do your drawing.

Parameters

canvas the canvas on which the background will be drawn

protected void onFocusChanged(boolean focused, int direction, Rect previouslyFocusedRect)

Called by the view system when the focus state of this view changes. When the focus change event is caused by directional navigation, direction and previouslyFocusedRect provide insight into where the focus is coming from.

Parameters

focused True if the View has focus; false otherwise.
direction The direction focus has moved when requestFocus() is called to give this view focus. Values are View.FOCUS_UP, View.FOCUS_DOWN, View.FOCUS_LEFT or View.FOCUS_RIGHT. It may not always apply, in which case use the default.
previouslyFocusedRect The rectangle, in this view's coordinate system, of the previously focused view. If applicable, this will be passed in as finer grained information about where the focus is coming from (in addition to direction). Will be null otherwise.

protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec)

Measure the view and its content to determine the measured width and the measured height. This method is invoked by measure(int, int) and should be overriden by subclasses to provide accurate and efficient measurement of their contents.

CONTRACT: When overriding this method, you must call setMeasuredDimension(int, int) to store the measured width and height of this view. Failure to do so will trigger an IllegalStateException, thrown by measure(int, int). Calling the superclass' onMeasure(int, int) is a valid use.

The base class implementation of measure defaults to the background size, unless a larger size is allowed by the MeasureSpec. Subclasses should override onMeasure(int, int) to provide better measurements of their content.

If this method is overridden, it is the subclass's responsibility to make sure the measured height and width are at least the view's minimum height and width (getSuggestedMinimumHeight() and getSuggestedMinimumWidth()).

Parameters

widthMeasureSpec horizontal space requirements as imposed by the parent. The requirements are encoded with View.MeasureSpec.
heightMeasureSpec vertical space requirements as imposed by the parent. The requirements are encoded with View.MeasureSpec.

protected void onScrollChanged(int l, int t, int oldl, int oldt)

This is called in response to an internal scroll in this view (i.e., the view scrolled its own contents). This is typically as a result of scrollBy(int, int) or scrollTo(int, int) having been called.

Parameters

l Current horizontal scroll origin.
t Current vertical scroll origin.
oldl Previous horizontal scroll origin.
oldt Previous vertical scroll origin.

protected void onSizeChanged(int w, int h, int ow, int oh)

This is called during layout when the size of this view has changed. If you were just added to the view hierarchy, you're called with the old values of 0.

Parameters

w Current width of this view.
h Current height of this view.
ow Old width of this view.
oh Old height of this view.
Copyright 2007 Google Inc. Build 119366-119366 - 19 Nov 2008 16:04