protected void refreshDrawable(final Drawable drawable) {
mDrawable = drawable;
if (mDrawable == null) {
mDrawable = new ColorDrawable(mColor);
}
int gravity = GRAVITY_FILL_VERTICAL | GRAVITY_LEFT;
int orientation = ClipDrawable.HORIZONTAL;
switch (mRotation) {
case 90:
gravity = GRAVITY_FILL_HORIZONTAL | GRAVITY_BOTTOM;
orientation = ClipDrawable.VERTICAL;
break;
case 180:
gravity = GRAVITY_FILL_VERTICAL | GRAVITY_RIGHT;
orientation = ClipDrawable.HORIZONTAL;
break;
case 270:
gravity = GRAVITY_FILL_HORIZONTAL | GRAVITY_TOP;
orientation = ClipDrawable.VERTICAL;
break;
}
mClipDrawable = new ClipDrawable(mDrawable, gravity, orientation);
final Rect outRect = new Rect();
getDrawingRect(outRect);
mClipDrawable.setBounds(outRect);
mClipDrawable.setLevel((int)(mProgress * mScale) + mMin);
postInvalidate();
}
java类android.graphics.drawable.ClipDrawable的实例源码
ProgressView.java 文件源码
项目:libcommon
阅读 32
收藏 0
点赞 0
评论 0
bb.java 文件源码
项目:solved-hacking-problem
阅读 18
收藏 0
点赞 0
评论 0
private Drawable m2538a(Drawable drawable, boolean z) {
int i = 0;
Drawable a;
if (drawable instanceof C0063q) {
a = ((C0063q) drawable).m469a();
if (a != null) {
((C0063q) drawable).m473a(m2538a(a, z));
}
} else if (drawable instanceof LayerDrawable) {
LayerDrawable layerDrawable = (LayerDrawable) drawable;
int numberOfLayers = layerDrawable.getNumberOfLayers();
Drawable[] drawableArr = new Drawable[numberOfLayers];
for (int i2 = 0; i2 < numberOfLayers; i2++) {
int id = layerDrawable.getId(i2);
Drawable drawable2 = layerDrawable.getDrawable(i2);
boolean z2 = id == 16908301 || id == 16908303;
drawableArr[i2] = m2538a(drawable2, z2);
}
a = new LayerDrawable(drawableArr);
while (i < numberOfLayers) {
a.setId(i, layerDrawable.getId(i));
i++;
}
return a;
} else if (drawable instanceof BitmapDrawable) {
BitmapDrawable bitmapDrawable = (BitmapDrawable) drawable;
Bitmap bitmap = bitmapDrawable.getBitmap();
if (this.f1344d == null) {
this.f1344d = bitmap;
}
Drawable shapeDrawable = new ShapeDrawable(m2539b());
shapeDrawable.getPaint().setShader(new BitmapShader(bitmap, TileMode.REPEAT, TileMode.CLAMP));
shapeDrawable.getPaint().setColorFilter(bitmapDrawable.getPaint().getColorFilter());
return z ? new ClipDrawable(shapeDrawable, 3, 1) : shapeDrawable;
}
return drawable;
}
bb.java 文件源码
项目:solved-hacking-problem
阅读 18
收藏 0
点赞 0
评论 0
private Drawable m2538a(Drawable drawable, boolean z) {
int i = 0;
Drawable a;
if (drawable instanceof C0063q) {
a = ((C0063q) drawable).m469a();
if (a != null) {
((C0063q) drawable).m473a(m2538a(a, z));
}
} else if (drawable instanceof LayerDrawable) {
LayerDrawable layerDrawable = (LayerDrawable) drawable;
int numberOfLayers = layerDrawable.getNumberOfLayers();
Drawable[] drawableArr = new Drawable[numberOfLayers];
for (int i2 = 0; i2 < numberOfLayers; i2++) {
int id = layerDrawable.getId(i2);
Drawable drawable2 = layerDrawable.getDrawable(i2);
boolean z2 = id == 16908301 || id == 16908303;
drawableArr[i2] = m2538a(drawable2, z2);
}
a = new LayerDrawable(drawableArr);
while (i < numberOfLayers) {
a.setId(i, layerDrawable.getId(i));
i++;
}
return a;
} else if (drawable instanceof BitmapDrawable) {
BitmapDrawable bitmapDrawable = (BitmapDrawable) drawable;
Bitmap bitmap = bitmapDrawable.getBitmap();
if (this.f1344d == null) {
this.f1344d = bitmap;
}
Drawable shapeDrawable = new ShapeDrawable(m2539b());
shapeDrawable.getPaint().setShader(new BitmapShader(bitmap, TileMode.REPEAT, TileMode.CLAMP));
shapeDrawable.getPaint().setColorFilter(bitmapDrawable.getPaint().getColorFilter());
return z ? new ClipDrawable(shapeDrawable, 3, 1) : shapeDrawable;
}
return drawable;
}
EggLoadingProgress.java 文件源码
项目:EggProgressSDK
阅读 21
收藏 0
点赞 0
评论 0
public void onShowEggLoadingProgressBar(boolean cancelable, int max, int color) {
mProgress = new ProgressDialog(mContext);
mProgress.setCancelable(cancelable);
mProgress.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
LayerDrawable layer = (LayerDrawable) ContextCompat.getDrawable(mContext, R.drawable.custom_linear_progress);
ClipDrawable progress = (ClipDrawable) (layer.findDrawableByLayerId(R.id.progress));
progress.setColorFilter(color, PorterDuff.Mode.SRC_IN);
mProgress.setProgressDrawable(layer);
mProgress.setProgress(0);
mProgress.setMax(max);
mProgress.show();
}
EggLoadingProgress.java 文件源码
项目:EggProgressSDK
阅读 17
收藏 0
点赞 0
评论 0
public void onShowEggLoadingProgressBar(boolean cancelable, int max, int color, String title, String message) {
mProgress = new ProgressDialog(mContext);
if(!title.equals("")) mProgress.setTitle(title);
if(!message.equals("")) mProgress.setMessage(message);
mProgress.setCancelable(cancelable);
mProgress.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
LayerDrawable layer = (LayerDrawable) ContextCompat.getDrawable(mContext, R.drawable.custom_linear_progress);
ClipDrawable progress = (ClipDrawable) (layer.findDrawableByLayerId(R.id.progress));
progress.setColorFilter(color, PorterDuff.Mode.SRC_IN);
mProgress.setProgressDrawable(layer);
mProgress.setProgress(0);
mProgress.setMax(max);
mProgress.show();
}
MMWebView.java 文件源码
项目:WhiteRead
阅读 25
收藏 0
点赞 0
评论 0
private void initProgress(Context context) {
if (mProgressbar == null) {
mProgressbar = new ProgressBar(context, null, android.R.attr.progressBarStyleHorizontal);
mProgressbar.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, 12, 0, 0));
mProgressbar.setMax(100);
mProgressbar.setProgress(0);
mProgressbar.setBackgroundColor(0xffcccccc);
ClipDrawable d = new ClipDrawable(new ColorDrawable(mProgressColor), Gravity.START, ClipDrawable.HORIZONTAL);
mProgressbar.setProgressDrawable(d);
}
if (indexOfChild(mProgressbar) == -1) {
addView(mProgressbar);
}
}
LoadingImageView.java 文件源码
项目:LoadingImageView
阅读 30
收藏 0
点赞 0
评论 0
/**
* 设置方向
* @param orientation {@link MaskOrientation}
*/
public void setMaskOrientation(int orientation){
switch (orientation){
case MaskOrientation.LeftToRight:
gravity = Gravity.LEFT;
orientaion = ClipDrawable.HORIZONTAL;
break;
case MaskOrientation.RightToLeft:
gravity = Gravity.RIGHT;
orientaion = ClipDrawable.HORIZONTAL;
break;
case MaskOrientation.TopToBottom:
gravity = Gravity.TOP;
orientaion = ClipDrawable.VERTICAL;
break;
case MaskOrientation.BottomToTop:
default:
gravity = Gravity.BOTTOM;
orientaion = ClipDrawable.VERTICAL;
break;
}
if(maskDrawable == null){
return;
}
clipDrawable = new ClipDrawable(maskDrawable, gravity, orientaion);
initAnim();
}
DefaultHeaderTransformer.java 文件源码
项目:AndroidPullMenu
阅读 20
收藏 0
点赞 0
评论 0
private void applyProgressBarSettings() {
if (mHeaderProgressBar != null) {
ShapeDrawable shape = new ShapeDrawable();
shape.setShape(new RectShape());
shape.getPaint().setColor(mProgressDrawableColor);
ClipDrawable clipDrawable = new ClipDrawable(shape, Gravity.CENTER, ClipDrawable.HORIZONTAL);
mHeaderProgressBar.setProgressDrawable(clipDrawable);
}
}
BetterRatingBar.java 文件源码
项目:BetterRatingBar
阅读 19
收藏 0
点赞 0
评论 0
private Drawable tileify(Drawable drawable, boolean clip) {
if (drawable instanceof DrawableWrapper) {
Drawable inner = ((DrawableWrapper) drawable).getWrappedDrawable();
if (inner != null) {
inner = tileify(inner, clip);
((DrawableWrapper) drawable).setWrappedDrawable(inner);
}
} else if (drawable instanceof LayerDrawable) {
LayerDrawable background = (LayerDrawable) drawable;
final int N = background.getNumberOfLayers();
Drawable[] outDrawables = new Drawable[N];
for (int i = 0; i < N; i++) {
int id = background.getId(i);
outDrawables[i] = tileify(background.getDrawable(i),
(id == android.R.id.progress || id == android.R.id.secondaryProgress));
}
LayerDrawable newBg = new LayerDrawable(outDrawables);
for (int i = 0; i < N; i++) {
newBg.setId(i, background.getId(i));
}
return newBg;
} else if (drawable instanceof BitmapDrawable) {
BitmapDrawable bitmapDrawable = (BitmapDrawable) drawable;
bitmapDrawable.setTileModeXY(Shader.TileMode.REPEAT, Shader.TileMode.CLAMP);
return (clip) ? new ClipDrawable(bitmapDrawable, Gravity.LEFT,
ClipDrawable.HORIZONTAL) : bitmapDrawable;
}
return drawable;
}
NodeDetailFragment.java 文件源码
项目:soulissapp
阅读 19
收藏 0
点赞 0
评论 0
/**
* Riga grigia cra spazio
*/
private void createHeader() {
if (collected.getIconResourceId() != 0)
FontAwesomeUtil.prepareAwesomeFontAweTextView(getActivity(), nodeic, SimpleTagViewUtils.getAwesomeNames(getActivity()).get(collected.getIconResourceId()));
par.setMax(Constants.MAX_HEALTH);
// ProgressBar sfumata
final ShapeDrawable pgDrawable = new ShapeDrawable(new RoundRectShape(Constants.roundedCorners, null, null));
final LinearGradient gradient = new LinearGradient(0, 0, 250, 0, getResources().getColor(color.aa_red),
getResources().getColor(color.aa_green), android.graphics.Shader.TileMode.CLAMP);
// pgDrawable.getPaint().setStrokeWidth(3);
pgDrawable.getPaint().setDither(true);
pgDrawable.getPaint().setShader(gradient);
ClipDrawable progress = new ClipDrawable(pgDrawable, Gravity.START, ClipDrawable.HORIZONTAL);
par.setBackgroundResource(android.R.drawable.progress_horizontal);
par.setProgressDrawable(progress);
par.setMax(50);
par.setProgress(20);
par.setProgress(0); // <-- BUG Android
par.setMax(Constants.MAX_HEALTH);
refreshHeader();
Log.d(Constants.TAG,
"Setting bar at " + collected.getHealth() + " win width=" + SoulissApp.getDisplayWidth() / 2);
}