diff options
| author | 2014-11-10 20:28:40 +0000 | |
|---|---|---|
| committer | 2014-11-10 20:28:43 +0000 | |
| commit | 5c22a79baf81727b56a85a194d678c18449b5150 (patch) | |
| tree | b34314be6f6df7965a1ef38803dfe3aa1c867f86 | |
| parent | 97c04ac7ed4f34ca0cfb75646cc00687fb0954d4 (diff) | |
| parent | 8657baa06d2efe845cafef571bd9dce627cf5045 (diff) | |
Merge "Fix setting styles in custom views." into lmp-dev
| -rw-r--r-- | tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeContext.java | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeContext.java b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeContext.java index 3d3afa4d8fe4..aeb70e9e2f76 100644 --- a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeContext.java +++ b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeContext.java @@ -479,6 +479,23 @@ public final class BridgeContext extends Context { StyleResourceValue style = getStyleByDynamicId(resid); if (style == null) { + // In some cases, style may not be a dynamic id, so we do a full search. + ResourceReference ref = resolveId(resid); + if (ref != null) { + if (ref.isFramework()) { + ref = + getRenderResources().getFrameworkResource(ResourceType.STYLE, ref.getName()); + } else { + ref = + getRenderResources().getProjectResource(ResourceType.STYLE, ref.getName()); + } + if (ref instanceof StyleResourceValue) { + style = ((StyleResourceValue) ref); + } + } + } + + if (style == null) { throw new Resources.NotFoundException(); } |