package com.tv.ui.metro.view; import android.content.Context; import android.view.View; import com.tv.ui.metro.R; import com.xiaomi.mitv.app.view.UserView; import java.util.ArrayList; /** * Created by tv metro on 9/3/14. */ public class UserViewFactory { private static UserViewFactory _instance; private UserViewFactory(){} public static UserViewFactory getInstance(){ if(_instance == null) _instance = new UserViewFactory(); return _instance; } ViewCreatorFactory mFactory = new DefautUserViewCreateFactory(); public void setFactory(ViewCreatorFactory _factory){ mFactory = _factory; } public ArrayList<View> createUserView(Context context){ return mFactory.create(context); } public int getPadding(Context context){ int padding = mFactory.getPadding(context); if(padding == 0){ padding = context.getResources().getDimensionPixelSize(R.dimen.ITEM_DIVIDE_SIZE); } return padding; } public interface ViewCreatorFactory{ ArrayList<View> create(Context context); int getPadding(Context context); } public class DefautUserViewCreateFactory implements ViewCreatorFactory{ @Override public ArrayList<View> create(Context context) { ArrayList<View> views = new ArrayList<View>(); views.add(new UserView(context, "default")); views.add(new UserView(context, "default")); return views; } @Override public int getPadding(Context context) { return context.getResources().getDimensionPixelSize(R.dimen.ITEM_DIVIDE_SIZE); } } }