/** * Resolves a dimension resource that uses density-independent pixels * * @param context the current context * @param res the dimension resource holding a DP value * @return the size in pixels */ public static float pixelsFromDpResource(Context context, @DimenRes int res) { return context.getResources().getDimension(res); }
private LoadingImageGetter(final Context context, @DimenRes final int size) { int imageSize = context.getResources().getDimensionPixelSize(size); image = context.getResources().getDrawable( R.drawable.image_loading_icon); image.setBounds(0, 0, imageSize, imageSize); }
/** * Resolves a dimension resource that uses scaled pixels * * @param context the current context * @param sizeRes the dimension resource holding an SP value * @return the text size in pixels */ public static float pixelsFromSpResource(Context context, @DimenRes int sizeRes) { final Resources res = context.getResources(); return res.getDimension(sizeRes) / res.getDisplayMetrics().density; }
@DimenRes public static int getDetailSizeResId() { switch (getDetailSize()) { default: case 0: return R.dimen.gallery_list_column_width_long; case 1: return R.dimen.gallery_list_column_width_short; } }
@DimenRes public static int getThumbSizeResId() { switch (getThumbSize()) { case 0: return R.dimen.gallery_grid_column_width_large; default: case 1: return R.dimen.gallery_grid_column_width_middle; case 2: return R.dimen.gallery_grid_column_width_small; } }
public int resolveDimenSizeAttr(@AttrRes int attrResId, @DimenRes int defResId) { mAttrs[0] = attrResId; TypedArray a = mTheme.obtainStyledAttributes(mAttrs); try { return a.getDimensionPixelSize(0, resolveDimenSizeRes(defResId)); } finally { a.recycle(); } }
public float resolveFloatAttr(@AttrRes int attrResId, @DimenRes int defResId) { mAttrs[0] = attrResId; TypedArray a = mTheme.obtainStyledAttributes(mAttrs); try { return a.getDimension(0, resolveFloatRes(defResId)); } finally { a.recycle(); } }
public int resolveDimenSizeRes(@DimenRes int resId) { if (resId != 0) { Integer cached = mResourceCache.get(resId); if (cached != null) { return cached; } int result = mResources.getDimensionPixelSize(resId); mResourceCache.put(resId, result); return result; } return 0; }
public int resolveDimenOffsetRes(@DimenRes int resId) { if (resId != 0) { Integer cached = mResourceCache.get(resId); if (cached != null) { return cached; } int result = mResources.getDimensionPixelOffset(resId); mResourceCache.put(resId, result); return result; } return 0; }
public float resolveFloatRes(@DimenRes int resId) { if (resId != 0) { Float cached = mResourceCache.get(resId); if (cached != null) { return cached; } float result = mResources.getDimension(resId); mResourceCache.put(resId, result); return result; } return 0; }
/** * Set all the corner radii from a dimension resource id. * * @param resId dimension resource id of radii. */ public void setCornerRadiusDimen(@DimenRes int resId) { float radius = getResources().getDimension(resId); setCornerRadius(radius, radius, radius, radius); }
/** * Set the corner radius of a specific corner from a dimension resource id. * * @param corner the corner to set. * @param resId the dimension resource id of the corner radius. */ public void setCornerRadiusDimen(@Corner int corner, @DimenRes int resId) { setCornerRadius(corner, getResources().getDimensionPixelSize(resId)); }
/** @see #positionPx */ public T positionRes(@Nullable YogaEdge edge, @DimenRes int resId) { return positionPx(edge, mResourceResolver.resolveDimenSizeRes(resId)); }
public T marginRes(@Nullable YogaEdge edge, @DimenRes int resId) { return marginPx(edge, mResourceResolver.resolveDimenSizeRes(resId)); }
public T paddingRes(@Nullable YogaEdge edge, @DimenRes int resId) { return paddingPx(edge, mResourceResolver.resolveDimenSizeRes(resId)); }
public T touchExpansionRes(@Nullable YogaEdge edge, @DimenRes int resId) { return touchExpansionPx(edge, mResourceResolver.resolveDimenSizeRes(resId)); }
public int resolveDimenOffsetAttr(@AttrRes int attrResId, @DimenRes int defResId) { mAttrs[0] = attrResId; TypedArray a = mTheme.obtainStyledAttributes(mAttrs); try { return a.getDimensionPixelOffset(0, resolveDimenOffsetRes(defResId)); } finally { a.recycle(); } }
/** @see #flexBasisPx */ public T flexBasisRes(@DimenRes int resId) { return flexBasisPx(mResourceResolver.resolveDimenSizeRes(resId)); }
public T maxWidthRes(@DimenRes int resId) { return maxWidthPx(mResourceResolver.resolveDimenSizeRes(resId)); }
public T heightRes(@DimenRes int resId) { return heightPx(mResourceResolver.resolveDimenSizeRes(resId)); }