private Drawable tileifyProgressDrawable(Drawable wrapped) {
if (wrapped instanceof LayerDrawable) {
LayerDrawable drawable = (LayerDrawable) wrapped;
final int N = drawable.getNumberOfLayers();
Drawable[] outDrawables = new Drawable[N];
for (int i = 0; i < N; i++) {
final int id = drawable.getId(i);
Drawable childDrawable = drawable.getDrawable(i);
if (id == android.R.id.background) {
outDrawables[i] = new NumberBGDrawable(childDrawable);
} else if (id == android.R.id.progress) {
if (childDrawable instanceof ScaleDrawable) {
outDrawables[i] = tileifyScaleDrawable((ScaleDrawable) childDrawable);
} else if (childDrawable instanceof ClipDrawable) {
outDrawables[i] = tileifyClipDrawable((ClipDrawable) childDrawable);
} else {
outDrawables[i] = childDrawable;
}
} else {
outDrawables[i] = childDrawable;
}
}
LayerDrawable newDrawable = new NumberLayerDrawable(outDrawables);
return newDrawable;
}
return wrapped;
}
NumberProgressBar.java 文件源码
java
阅读 18
收藏 0
点赞 0
评论 0
项目:Android_Skin_2.0
作者:
评论列表
文章目录