package gueei.binding.viewAttributes.view;
import gueei.binding.BindingType;
import gueei.binding.ViewAttribute;
import android.graphics.drawable.Drawable;
import android.view.View;
/**
* Background
* Similar to "backgroundColor" attribute,
* but this one accepts Drawable or Drawable Resource Integer (denoted by @drawable/drawableid)
*
* @name background
* @widget View
* @type Object
*
* @accepts Integer
* @accepts Drawable
*
* @category simple
* @related http://developer.android.com/reference/android/widget/View.html
* @related http://developer.android.com/reference/android/graphics/Color.html
* @converter ARGB
*
* @author andy
*/
public class BackgroundViewAttribute extends ViewAttribute<View, Object> {
public BackgroundViewAttribute(View view) {
super(Object.class, view, "background");
}
@Override
protected void doSetAttributeValue(Object newValue) {
if(getView()==null) return;
if (newValue==null){
getView().setBackgroundDrawable(null);
return;
}
if (newValue instanceof Integer){
getView().setBackgroundResource((Integer)newValue);
}
if (newValue instanceof Drawable){
getView().setBackgroundDrawable((Drawable)newValue);
return;
}
}
@Override
protected BindingType AcceptThisTypeAs(Class<?> type) {
return BindingType.OneWay;
}
@Override
public Object get() {
return null;
}
}