下面列出了android.support.annotation.Px#android.support.annotation.DimenRes 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
/**
* Scales passed view with passed dimension on Tablets only
*/
public static void scaleViewOnTablet(Context context, View view, @DimenRes int dimenRes) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
boolean isTablet = context.getResources().getBoolean(R.bool.isTablet);
if (isTablet) {
TypedValue outValue = new TypedValue();
context.getResources().getValue(dimenRes, outValue, true);
float scale = outValue.getFloat();
view.setScaleX(scale);
view.setScaleY(scale);
}
}
}
private int dimenOrSize(Context context, int size, @DimenRes int dimen) {
if (dimen != -1) {
return context.getResources().getDimensionPixelSize(dimen);
}
return UiUtil.sp(context, size);
}
@Px
static int getDimension(Context context,
TypedArray array,
@StyleableRes int attr,
@DimenRes int defaultDimenRes) {
return array.getDimensionPixelOffset(
attr, context.getResources().getDimensionPixelSize(defaultDimenRes));
}
public static int getDimensionPixelSize(@NonNull Context context, @DimenRes int id){
return context.getResources().getDimensionPixelSize(id);
}
public static int getDimensionPixelSize(@NonNull View view, @DimenRes int id){
return view.getResources().getDimensionPixelSize(id);
}
public static int getDimensionPixelSize(@NonNull Fragment fragment, @DimenRes int id){
return fragment.getResources().getDimensionPixelSize(id);
}
public void setPlatesTitleSizeRes(@DimenRes int platesTitleSize) {
this.platesTitleSize = getResources().getDimensionPixelSize(platesTitleSize);
for (TextView title : platesTitle) {
title.setTextSize(TypedValue.COMPLEX_UNIT_PX, this.platesTitleSize);
}
}
public void setOtherSubTitleTextSizeRes(@DimenRes int otherSubTitleTextSize) {
this.otherSubTitleTextSize = getResources().getDimensionPixelSize(otherSubTitleTextSize);
for (TextView otherSubTitle : otherSubTitles) {
otherSubTitle.setTextSize(TypedValue.COMPLEX_UNIT_PX, this.otherSubTitleTextSize);
}
}
public void setSubTitleTextSizeRes(@DimenRes int subTitleTextSize) {
this.subTitleTextSize = getResources().getDimensionPixelSize(subTitleTextSize);
if (channelLayout != null && channelLayout.subTitle != null) {
channelLayout.subTitle.setTextSize(TypedValue.COMPLEX_UNIT_PX, this.subTitleTextSize);
}
}
@NonNull
public Builder setKeyPadding(@DimenRes int keyPaddingRes) {
mKeyPadding = getContext().getResources().getDimension(keyPaddingRes);
return this;
}
public void setMinHeightRes(@DimenRes int height) {
setMinHeightPx(getResources().getDimensionPixelSize(height));
}
public float getDimension(@DimenRes int resId) {
return getResources().getDimension(resId);
}
public float getDimension(@DimenRes int resId) {
return getResources().getDimension(resId);
}
public float getDimension(@DimenRes int resId) {
return getResources().getDimension(resId);
}
public float getDimension(@DimenRes int resId) {
return getResources().getDimension(resId);
}
public ItemOffsetDecoration(@NonNull Context context, @DimenRes int itemOffsetId) {
this(context.getResources().getDimensionPixelSize(itemOffsetId));
}
public PositionAnimExpectation withMarginDimen(@DimenRes int marginRes){
this.marginRes = marginRes;
return this;
}
@NonNull
public RoundKey.Builder setKeyPadding(@DimenRes final int keyPaddingRes) {
mKeyPadding = getContext().getResources().getDimension(keyPaddingRes);
return this;
}
@NonNull
public DotPatternCell.Builder setRadius(@DimenRes final int indicatorRadius) {
mRadius = getContext().getResources().getDimension(indicatorRadius);
return this;
}
public static Drawable generateBackgroundWithShadow(View view, @ColorRes int backgroundColor,
@DimenRes int cornerRadius,
@ColorRes int shadowColor,
@DimenRes int elevation,
int shadowGravity) {
float cornerRadiusValue = view.getContext().getResources().getDimension(cornerRadius);
int elevationValue = (int) view.getContext().getResources().getDimension(elevation);
int shadowColorValue = ContextCompat.getColor(view.getContext(), shadowColor);
int backgroundColorValue = ContextCompat.getColor(view.getContext(), backgroundColor);
float[] outerRadius = {cornerRadiusValue, cornerRadiusValue, cornerRadiusValue,
cornerRadiusValue, cornerRadiusValue, cornerRadiusValue, cornerRadiusValue,
cornerRadiusValue};
Rect shapeDrawablePadding = new Rect();
shapeDrawablePadding.left = 0;
shapeDrawablePadding.right = 0;
int DY = 0;
int DX = 0;
switch (shadowGravity) {
case Gravity.CENTER:
shapeDrawablePadding.top = elevationValue;
shapeDrawablePadding.bottom = elevationValue;
DY = 0;
break;
case Gravity.RIGHT:
shapeDrawablePadding.right = elevationValue * 2;
shapeDrawablePadding.bottom = elevationValue * 2;
DY = elevationValue / 3;
DX = elevationValue / 3;
break;
case Gravity.TOP:
shapeDrawablePadding.top = elevationValue * 2;
shapeDrawablePadding.bottom = elevationValue;
DY = -1 * elevationValue / 3;
break;
case Gravity.BOTTOM:
shapeDrawablePadding.top = elevationValue;
shapeDrawablePadding.bottom = elevationValue * 2;
DY = elevationValue / 3;
break;
}
ShapeDrawable shapeDrawable = new ShapeDrawable();
shapeDrawable.setPadding(shapeDrawablePadding);
shapeDrawable.getPaint().setColor(backgroundColorValue);
shapeDrawable.getPaint().setShadowLayer(cornerRadiusValue / 3, DX, DY, shadowColorValue);
view.setLayerType(LAYER_TYPE_SOFTWARE, shapeDrawable.getPaint());
shapeDrawable.setShape(new RoundRectShape(outerRadius, null, null));
LayerDrawable drawable = new LayerDrawable(new Drawable[]{shapeDrawable});
drawable.setLayerInset(0, 0, 0, 0, elevationValue * 2);
return drawable;
}
public static float getDimension(@DimenRes int dimenRes) {
return Base.getResources().getDimension(dimenRes);
}
public static int getDimensionPixelOffset(@DimenRes int dimenRes) {
return Base.getResources().getDimensionPixelOffset(dimenRes);
}
public static int getDimensionPixelSize(@DimenRes int dimenRes) {
return Base.getResources().getDimensionPixelSize(dimenRes);
}
public void setBorderWidth(@DimenRes int resId) {
setBorderWidth(getResources().getDimension(resId));
}
public T sizeResId(@DimenRes int sizeId) {
return size(mResources.getDimensionPixelSize(sizeId));
}
public Builder urlSizeRes(@DimenRes int urlSize) {
this.urlSize = ResourcesUtil.getDimension(urlSize);
return this;
}
public Builder menuTextPaddingLeftRes(@DimenRes int menuTextPaddingLeft) {
this.menuTextPaddingLeft = ResourcesUtil.getDimension(menuTextPaddingLeft);
return this;
}
public Builder menuTextPaddingRightRes(@DimenRes int menuTextPaddingRight) {
this.menuTextPaddingRight = ResourcesUtil.getDimension(menuTextPaddingRight);
return this;
}
public static float getDimensionInPx(Context context, @DimenRes int id) {
return context.getResources().getDimension(id);
}
public ChipGroupWidget chipSpacingResource(@DimenRes int id) {
view.setChipSpacingResource(id);
return self();
}