package gueei.binding.viewAttributes.view; import gueei.binding.BindingType; import gueei.binding.ViewAttribute; import android.view.View; import android.view.ViewGroup.LayoutParams; public class Layout_WidthViewAttribute extends ViewAttribute<View, Integer> { public Layout_WidthViewAttribute(View view) { super(Integer.class, view, "layout_width"); } @Override protected void doSetAttributeValue(Object newValue) { if(getView()==null) return; LayoutParams param = getView().getLayoutParams(); if (param==null) return; if (newValue==null){ return; } int newWidth = 0; if (newValue instanceof Integer){ newWidth = (Integer)newValue; } else if ("wrap_content".equals(newValue)){ newWidth = LayoutParams.WRAP_CONTENT; } else if ("fill_parent".equals(newValue)){ newWidth = LayoutParams.FILL_PARENT; } param.width = newWidth; getView().setLayoutParams(param); } @Override protected BindingType AcceptThisTypeAs(Class<?> type) { return BindingType.OneWay; } @Override public Integer get() { if(getView()==null) return null; LayoutParams param = getView().getLayoutParams(); if (param==null) return 0; return param.width; } }