package org.itsnat.droid.impl.xmlinflater.layout.attr.widget; import android.view.View; import android.widget.TextView; import org.itsnat.droid.impl.dom.DOMAttr; import org.itsnat.droid.impl.xmlinflater.FieldContainer; import org.itsnat.droid.impl.xmlinflater.layout.AttrLayoutContext; import org.itsnat.droid.impl.xmlinflater.layout.classtree.ClassDescViewBased; import org.itsnat.droid.impl.xmlinflater.shared.attr.AttrDesc; /** * Created by jmarranz on 30/04/14. */ public class AttrDescView_widget_TextView_lineSpacingExtra extends AttrDesc<ClassDescViewBased,View,AttrLayoutContext> { protected FieldContainer<Float> field; public AttrDescView_widget_TextView_lineSpacingExtra(ClassDescViewBased parent) { super(parent,"lineSpacingExtra"); this.field = new FieldContainer<Float>(parent.getDeclaredClass(),"mSpacingMult"); } @Override public void setAttribute(View view, DOMAttr attr, AttrLayoutContext attrCtx) { float convertedValue = getDimensionFloatRound(attr.getResourceDesc(),attrCtx.getXMLInflaterContext()); TextView textView = (TextView)view; textView.setLineSpacing(convertedValue, getMultiplier(textView)); } @Override public void removeAttribute(View view, AttrLayoutContext attrCtx) { setAttributeToRemove(view, "0dp", attrCtx); } protected float getMultiplier(TextView view) { return field.get(view); } }