package org.itsnat.droid.impl.domparser.anim; import org.itsnat.droid.ItsNatDroidException; import org.itsnat.droid.impl.dom.DOMElement; import org.itsnat.droid.impl.dom.anim.DOMElemAnimationSet; import org.itsnat.droid.impl.dom.anim.DOMElemAnimationSingle; import org.itsnat.droid.impl.dom.anim.XMLDOMAnimation; import org.itsnat.droid.impl.domparser.XMLDOMParser; import org.itsnat.droid.impl.domparser.XMLDOMParserContext; /** * Created by jmarranz on 31/10/14. */ public class XMLDOMAnimationParser extends XMLDOMParser<XMLDOMAnimation> { protected XMLDOMAnimationParser(XMLDOMParserContext xmlDOMParserContext) { super(xmlDOMParserContext); } public static XMLDOMAnimationParser createXMLDOMAnimationParser(XMLDOMParserContext xmlDOMParserContext) { return new XMLDOMAnimationParser(xmlDOMParserContext); } @Override protected boolean isAndroidNSPrefixNeeded() { return true; } @Override protected DOMElement createElement(String tagName,DOMElement parent) { // Interesante ver el código fuente de: AnimationUtils loadAnimation DOMElemAnimationSet parentAnimation = (DOMElemAnimationSet)parent; if ("set".equals(tagName)) { return new DOMElemAnimationSet(parentAnimation); } else if ("alpha".equals(tagName) || "scale".equals(tagName) || "rotate".equals(tagName) || "translate".equals(tagName)) { return new DOMElemAnimationSingle(tagName,parentAnimation); } else throw new ItsNatDroidException("Unrecognized animator tag name: " + tagName); } }