package com.actionbarsherlock.internal.nineoldandroids.view; import android.content.Context; import android.util.AttributeSet; import android.view.ViewGroup; import com.actionbarsherlock.internal.nineoldandroids.view.animation.AnimatorProxy; public abstract class NineViewGroup extends ViewGroup { private final AnimatorProxy mProxy; public NineViewGroup(Context context) { super(context); mProxy = AnimatorProxy.NEEDS_PROXY ? AnimatorProxy.wrap(this) : null; } public NineViewGroup(Context context, AttributeSet attrs) { super(context, attrs); mProxy = AnimatorProxy.NEEDS_PROXY ? AnimatorProxy.wrap(this) : null; } public NineViewGroup(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); mProxy = AnimatorProxy.NEEDS_PROXY ? AnimatorProxy.wrap(this) : null; } @Override public void setVisibility(int visibility) { if (mProxy != null) { if (visibility == GONE) { clearAnimation(); } else if (visibility == VISIBLE) { setAnimation(mProxy); } } super.setVisibility(visibility); } public float getAlpha() { if (AnimatorProxy.NEEDS_PROXY) { return mProxy.getAlpha(); } else { return super.getAlpha(); } } public void setAlpha(float alpha) { if (AnimatorProxy.NEEDS_PROXY) { mProxy.setAlpha(alpha); } else { super.setAlpha(alpha); } } public float getTranslationX() { if (AnimatorProxy.NEEDS_PROXY) { return mProxy.getTranslationX(); } else { return super.getTranslationX(); } } public void setTranslationX(float translationX) { if (AnimatorProxy.NEEDS_PROXY) { mProxy.setTranslationX(translationX); } else { super.setTranslationX(translationX); } } public float getTranslationY() { if (AnimatorProxy.NEEDS_PROXY) { return mProxy.getTranslationY(); } else { return super.getTranslationY(); } } public void setTranslationY(float translationY) { if (AnimatorProxy.NEEDS_PROXY) { mProxy.setTranslationY(translationY); } else { super.setTranslationY(translationY); } } }