package com.basic.security.widget.hlistview; import android.util.Log; import android.view.View; import com.basic.security.widget.hlistview.v14.ViewHelper14; import com.basic.security.widget.hlistview.v16.ViewHelper16; public class ViewHelperFactory { private static final String LOG_TAG = "ViewHelper"; public static final ViewHelper create(View view) { final int version = android.os.Build.VERSION.SDK_INT; if (version >= 16) { // jelly bean return new ViewHelper16(view); } else if (version >= 14) { // ice cream sandwich return new ViewHelper14(view); } else { // fallback return new ViewHelperDefault(view); } } public static abstract class ViewHelper { protected View view; protected ViewHelper(View view) { this.view = view; } public abstract void postOnAnimation(Runnable action); public abstract void setScrollX(int value); public abstract boolean isHardwareAccelerated(); } public static class ViewHelperDefault extends ViewHelper { public ViewHelperDefault(View view) { super(view); } public void postOnAnimation(Runnable action) { view.post(action); } public void setScrollX(int value) { Log.d(LOG_TAG, "setScrollX: " + value); view.scrollTo(value, view.getScrollY()); } public boolean isHardwareAccelerated() { return false; } } }