NumberProgressBar.java 文件源码

java
阅读 18 收藏 0 点赞 0 评论 0

项目:Android_Skin_2.0 作者:
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;
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号