FileDocCategorySizeDatePackage
ILayoutBridge.javaAPI DocAndroid 1.5 API8928Wed May 06 22:42:02 BST 2009com.android.layoutlib.api

ILayoutBridge

public interface ILayoutBridge
Entry point of the Layout Lib. Implementations of this interface provide a method to compute and render a layout.

{@link #getApiLevel()} gives the ability to know which methods are available.

Changes in API level 3:

  • {@link #computeLayout(IXmlPullParser, Object, int, int, int, float, float, String, boolean, Map, Map, IProjectCallback, ILayoutLog)}
  • deprecated {@link #computeLayout(IXmlPullParser, Object, int, int, String, boolean, Map, Map, IProjectCallback, ILayoutLog)}
Changes in API level 2:
  • {@link #getApiLevel()}
  • {@link #computeLayout(IXmlPullParser, Object, int, int, String, boolean, Map, Map, IProjectCallback, ILayoutLog)}
  • deprecated {@link #computeLayout(IXmlPullParser, Object, int, int, String, Map, Map, IProjectCallback, ILayoutLog)}

Fields Summary
final int
API_CURRENT
Constructors Summary
Methods Summary
public voidclearCaches(java.lang.Object projectKey)
Clears the resource cache for a specific project.

This cache contains bitmaps and nine patches that are loaded from the disk and reused until this method is called.

The cache is not configuration dependent and should only be cleared when a resource changes (at this time only bitmaps and 9 patches go into the cache).

param
objectKey the key for the project.
since
1

public ILayoutResultcomputeLayout(IXmlPullParser layoutDescription, java.lang.Object projectKey, int screenWidth, int screenHeight, int density, float xdpi, float ydpi, java.lang.String themeName, boolean isProjectTheme, java.util.Map projectResources, java.util.Map frameworkResources, IProjectCallback projectCallback, ILayoutLog logger)
Computes and renders a layout

param
layoutDescription the {@link IXmlPullParser} letting the LayoutLib Bridge visit the layout file.
param
projectKey An Object identifying the project. This is used for the cache mechanism.
param
screenWidth the screen width
param
screenHeight the screen height
param
density the density factor for the screen.
param
xdpi the screen actual dpi in X
param
ydpi the screen actual dpi in Y
param
themeName The name of the theme to use.
param
isProjectTheme true if the theme is a project theme, false if it is a framework theme.
param
projectResources the resources of the project. The map contains (String, map) pairs where the string is the type of the resource reference used in the layout file, and the map contains (String, {@link IResourceValue}) pairs where the key is the resource name, and the value is the resource value.
param
frameworkResources the framework resources. The map contains (String, map) pairs where the string is the type of the resource reference used in the layout file, and the map contains (String, {@link IResourceValue}) pairs where the key is the resource name, and the value is the resource value.
param
projectCallback The {@link IProjectCallback} object to get information from the project.
param
logger the object responsible for displaying warning/errors to the user.
return
an {@link ILayoutResult} object that contains the result of the layout.
since
3

public ILayoutResultcomputeLayout(IXmlPullParser layoutDescription, java.lang.Object projectKey, int screenWidth, int screenHeight, java.lang.String themeName, boolean isProjectTheme, java.util.Map projectResources, java.util.Map frameworkResources, IProjectCallback projectCallback, ILayoutLog logger)
Computes and renders a layout

param
layoutDescription the {@link IXmlPullParser} letting the LayoutLib Bridge visit the layout file.
param
projectKey An Object identifying the project. This is used for the cache mechanism.
param
screenWidth the screen width
param
screenHeight the screen height
param
themeName The name of the theme to use.
param
isProjectTheme true if the theme is a project theme, false if it is a framework theme.
param
projectResources the resources of the project. The map contains (String, map) pairs where the string is the type of the resource reference used in the layout file, and the map contains (String, {@link IResourceValue}) pairs where the key is the resource name, and the value is the resource value.
param
frameworkResources the framework resources. The map contains (String, map) pairs where the string is the type of the resource reference used in the layout file, and the map contains (String, {@link IResourceValue}) pairs where the key is the resource name, and the value is the resource value.
param
projectCallback The {@link IProjectCallback} object to get information from the project.
param
logger the object responsible for displaying warning/errors to the user.
return
an {@link ILayoutResult} object that contains the result of the layout.
deprecated
Use {@link #computeLayout(IXmlPullParser, Object, int, int, int, float, float, String, boolean, Map, Map, IProjectCallback, ILayoutLog)}
since
2

public ILayoutResultcomputeLayout(IXmlPullParser layoutDescription, java.lang.Object projectKey, int screenWidth, int screenHeight, java.lang.String themeName, java.util.Map projectResources, java.util.Map frameworkResources, IProjectCallback projectCallback, ILayoutLog logger)
Computes and renders a layout

param
layoutDescription the {@link IXmlPullParser} letting the LayoutLib Bridge visit the layout file.
param
projectKey An Object identifying the project. This is used for the cache mechanism.
param
screenWidth
param
screenHeight
param
themeName The name of the theme to use. In order to differentiate project and platform themes sharing the same name, all project themes must be prepended with a '*' character.
param
projectResources the resources of the project. The map contains (String, map) pairs where the string is the type of the resource reference used in the layout file, and the map contains (String, {@link IResourceValue}) pairs where the key is the resource name, and the value is the resource value.
param
frameworkResources the framework resources. The map contains (String, map) pairs where the string is the type of the resource reference used in the layout file, and the map contains (String, {@link IResourceValue}) pairs where the key is the resource name, and the value is the resource value.
param
projectCallback The {@link IProjectCallback} object to get information from the project.
param
logger the object responsible for displaying warning/errors to the user.
return
an {@link ILayoutResult} object that contains the result of the layout.
deprecated
Use {@link #computeLayout(IXmlPullParser, Object, int, int, int, float, float, String, boolean, Map, Map, IProjectCallback, ILayoutLog)}
since
1

public intgetApiLevel()
Returns the API level of the layout library. While no methods will ever be removed, some may become deprecated, and some new ones will appear.

If calling this method throws an {@link AbstractMethodError}, then the API level should be considered to be 1.

public booleaninit(java.lang.String fontOsLocation, java.util.Map enumValueMap)
Initializes the Bridge object.

param
fontOsLocation the location of the fonts.
param
enumValueMap map attrName => { map enumFlagName => Integer value }.
return
true if success.
since
1