package org.heaven7.scrap.res; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import org.heaven7.scrap.util.ResourceUtil; public class ResourceHolder implements ResourceHoldable { private Context mContext; public ResourceHolder(Context context) { this.mContext = context; } @Override public CharSequence getText(String resName){ return mContext.getResources().getText(getStringId(resName)); } @Override public Bitmap getBitmap(String resName){ return BitmapFactory.decodeResource(mContext.getResources(), getDrawableId(resName)); } @Override public Bitmap getBitmap(String resName,int width,int height){ Bitmap bitmap = BitmapFactory.decodeResource(mContext.getResources(), getDrawableId(resName)); if(width <=0 || height<=0){ return bitmap; } return Bitmap.createScaledBitmap(bitmap, width, height, true); } @Override public int getId(String resName){ return ResourceUtil.getResId(mContext, resName, ResourceUtil.ResourceType.Id); } @Override public int getStringId(String resName){ return ResourceUtil.getResId(mContext, resName, ResourceUtil.ResourceType.String); } @Override public int getLayoutId(String resName){ return ResourceUtil.getResId(mContext, resName, ResourceUtil.ResourceType.Layout); } @Override public int getDrawableId(String resName){ return ResourceUtil.getResId(mContext, resName, ResourceUtil.ResourceType.Drawable); } @Override public int getStyleId(String resName){ return ResourceUtil.getResId(mContext, resName, ResourceUtil.ResourceType.Style); } @Override public int getAnimId(String resName){ return ResourceUtil.getResId(mContext, resName, ResourceUtil.ResourceType.Anim); } @Override public int getColorId(String resName){ return ResourceUtil.getResId(mContext, resName, ResourceUtil.ResourceType.Color); } @Override public int getDimenId(String resName){ return ResourceUtil.getResId(mContext, resName, ResourceUtil.ResourceType.Dimen); } @Override public int getRawId(String resName) { return ResourceUtil.getResId(mContext, resName, ResourceUtil.ResourceType.Raw); } @Override public int getStringArrayId(String resName){ return ResourceUtil.getResId(mContext, resName, ResourceUtil.ResourceType.StringArray); } @Override public Context getContext() { return mContext; } }