diff options
author | Xavier Ducrohet <xav@android.com> | 2010-12-13 18:24:32 -0800 |
---|---|---|
committer | Android Code Review <code-review@android.com> | 2010-12-13 18:24:32 -0800 |
commit | 22f84f3e28b4762f48cf45e402a19f655a22fde2 (patch) | |
tree | da07d9dbb7acbbc840089ec14a96a42703749a43 /eclipse/plugins | |
parent | e7a9f6fe323cc0aca5c6c65361b57f0d81c979c2 (diff) | |
parent | 2d55525e583b0c49f4ca435b678f69be11d5256e (diff) | |
download | sdk-22f84f3e28b4762f48cf45e402a19f655a22fde2.zip sdk-22f84f3e28b4762f48cf45e402a19f655a22fde2.tar.gz sdk-22f84f3e28b4762f48cf45e402a19f655a22fde2.tar.bz2 |
Merge "ADT: always give fill_parent to layoutlib."
Diffstat (limited to 'eclipse/plugins')
2 files changed, 40 insertions, 0 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/ContextPullParser.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/ContextPullParser.java index 3f06968..3a94fd6 100644 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/ContextPullParser.java +++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/ContextPullParser.java @@ -16,7 +16,13 @@ package com.android.ide.eclipse.adt.internal.editors.layout; +import static com.android.ide.common.layout.LayoutConstants.ATTR_LAYOUT_HEIGHT; +import static com.android.ide.common.layout.LayoutConstants.ATTR_LAYOUT_WIDTH; +import static com.android.ide.common.layout.LayoutConstants.VALUE_MATCH_PARENT; +import static com.android.ide.common.layout.LayoutConstants.VALUE_FILL_PARENT; + import com.android.layoutlib.api.IXmlPullParser; +import com.android.sdklib.SdkConstants; import org.kxml2.io.KXmlParser; @@ -51,4 +57,22 @@ public class ContextPullParser extends KXmlParser implements IXmlPullParser { public Object getViewKey() { return null; // never any key to return } + + // --- KXMLParser override + + @Override + public String getAttributeValue(String namespace, String localName) { + String value = super.getAttributeValue(namespace, localName); + + // on the fly convert match_parent to fill_parent for compatibility with older + // platforms. + if (VALUE_MATCH_PARENT.equals(value) && + (ATTR_LAYOUT_WIDTH.equals(localName) || + ATTR_LAYOUT_HEIGHT.equals(localName)) && + SdkConstants.NS_RESOURCES.equals(namespace)) { + return VALUE_FILL_PARENT; + } + + return value; + } } diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/UiElementPullParser.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/UiElementPullParser.java index a7cdf35..d4b6e94 100644 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/UiElementPullParser.java +++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/UiElementPullParser.java @@ -16,6 +16,12 @@ package com.android.ide.eclipse.adt.internal.editors.layout; +import static com.android.ide.common.layout.LayoutConstants.ATTR_LAYOUT_WIDTH; +import static com.android.ide.common.layout.LayoutConstants.ATTR_LAYOUT_HEIGHT; +import static com.android.ide.common.layout.LayoutConstants.VALUE_MATCH_PARENT; +import static com.android.ide.common.layout.LayoutConstants.VALUE_FILL_PARENT; + + import com.android.ide.eclipse.adt.internal.editors.descriptors.ElementDescriptor; import com.android.ide.eclipse.adt.internal.editors.layout.descriptors.LayoutDescriptors; import com.android.ide.eclipse.adt.internal.editors.uimodel.UiAttributeNode; @@ -344,6 +350,16 @@ public final class UiElementPullParser extends BasePullParser { // add the padding and return the value return addPaddingToValue(value); } + + // on the fly convert match_parent to fill_parent for compatibility with older + // platforms. + if (VALUE_MATCH_PARENT.equals(value) && + (ATTR_LAYOUT_WIDTH.equals(localName) || + ATTR_LAYOUT_HEIGHT.equals(localName)) && + SdkConstants.NS_RESOURCES.equals(namespace)) { + return VALUE_FILL_PARENT; + } + return value; } } |