java类android.graphics.drawable.ClipDrawable的实例源码

StrengthMeter.java 文件源码 项目:Nird2 阅读 28 收藏 0 点赞 0 评论 0
public StrengthMeter(Context context, AttributeSet attrs) {
    super(context, attrs, android.R.attr.progressBarStyleHorizontal);
    bar = new ShapeDrawable();
    bar.getPaint().setColor(RED);
    ClipDrawable clip = new ClipDrawable(bar, LEFT, HORIZONTAL);
    ShapeDrawable background = new ShapeDrawable();
    Paint p = background.getPaint();
    p.setStyle(FILL);
    p.setColor(getResources().getColor(android.R.color.transparent));
    p.setStyle(STROKE);
    p.setStrokeWidth(1);
    p.setColor(BLACK);
    Drawable[] layers = new Drawable[] { clip, background };
    setProgressDrawable(new LayerDrawable(layers));
    setIndeterminate(false);
}
StrengthMeter.java 文件源码 项目:Nird2 阅读 32 收藏 0 点赞 0 评论 0
public StrengthMeter(Context context, AttributeSet attrs) {
    super(context, attrs, android.R.attr.progressBarStyleHorizontal);
    bar = new ShapeDrawable();
    bar.getPaint().setColor(RED);
    ClipDrawable clip = new ClipDrawable(bar, LEFT, HORIZONTAL);
    ShapeDrawable background = new ShapeDrawable();
    Paint p = background.getPaint();
    p.setStyle(FILL);
    p.setColor(getResources().getColor(android.R.color.transparent));
    p.setStyle(STROKE);
    p.setStrokeWidth(1);
    p.setColor(BLACK);
    Drawable[] layers = new Drawable[] { clip, background };
    setProgressDrawable(new LayerDrawable(layers));
    setIndeterminate(false);
}
MainActivity.java 文件源码 项目:ArtOfAndroid 阅读 22 收藏 0 点赞 0 评论 0
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    findViewById(R.id.tv_transition).setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            TransitionDrawable drawable = (TransitionDrawable) v.getBackground();
            drawable.startTransition(3000);
        }
    });

    ScaleDrawable scaleDrawable = (ScaleDrawable) findViewById(R.id.v_scale).getBackground();
    scaleDrawable.setLevel(10);      //lever默认为0,无法显示。level范围为0~10000。level越大,显示的越大

    ClipDrawable clipDrawable = (ClipDrawable) findViewById(R.id.v_clip).getBackground();
    clipDrawable.setLevel(5000);

    View vCustom = findViewById(R.id.v_custom);
    CustomDrawable customDrawable = new CustomDrawable(getResources().getColor(R.color.colorAccent));
    vCustom.setBackground(customDrawable);
}
LoadingImageView.java 文件源码 项目:LoadingImageView 阅读 23 收藏 0 点赞 0 评论 0
private void initMaskBitmap(int maskColor) {
    Drawable drawable = getDrawable();
    if(drawable == null){
        return;
    }
    Bitmap bgd = ((BitmapDrawable) drawable).getBitmap();
    imageWidth = drawable.getIntrinsicWidth();
    imageHeight = drawable.getIntrinsicHeight();

    Bitmap fg = Bitmap.createBitmap(imageWidth, imageHeight, Bitmap.Config.ARGB_8888);
    Canvas fgCanvas = new Canvas(fg);
    fgCanvas.drawColor(maskColor);


    Bitmap bitmap = combineImages(bgd, fg);
    maskDrawable = new BitmapDrawable(bitmap);
    clipDrawable = new ClipDrawable(maskDrawable, gravity, orientaion);

    //shader = new BitmapShader(bitmap, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP);
    //paint.setShader(shader);
}
SwipeClearLayout.java 文件源码 项目:yelo-android 阅读 23 收藏 0 点赞 0 评论 0
private void setTargetOffsetTopAndBottom(int offset) {
    circle.offsetTopAndBottom(offset);
    currentTargetOffsetTop = circle.getTop();
    int percent = (int) ((currentTargetOffsetTop / distanceToTriggerSync) * 100);
    if (onSwipeListener != null) {
        onSwipeListener.onSwipe(percent, currentTargetOffsetTop);
    }
    ViewCompat.setElevation(circle, percent);
    ImageView imageView = (ImageView) circle;
    ClipDrawable clipDrawable = (ClipDrawable) imageView.getDrawable();

    if (percent < 50) {
        clipDrawable.setLevel(0);
    } else {
        clipDrawable.setLevel((percent - 50) * 2 * 100);
    }
}
LoadingImageView.java 文件源码 项目:Loop 阅读 26 收藏 0 点赞 0 评论 0
private void initMaskBitmap(int maskColor) {
    Drawable drawable = getDrawable();
    if(drawable == null){
        return;
    }
    Bitmap bgd = ((BitmapDrawable) drawable).getBitmap();
    imageWidth = drawable.getIntrinsicWidth();
    imageHeight = drawable.getIntrinsicHeight();

    Bitmap fg = Bitmap.createBitmap(imageWidth, imageHeight, Bitmap.Config.ARGB_8888);
    Canvas fgCanvas = new Canvas(fg);
    fgCanvas.drawColor(maskColor);


    Bitmap bitmap = combineImages(bgd, fg);
    maskDrawable = new BitmapDrawable(bitmap);
    clipDrawable = new ClipDrawable(maskDrawable, gravity, orientaion);

    //shader = new BitmapShader(bitmap, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP);
    //paint.setShader(shader);
}
CmBatteryBar.java 文件源码 项目:Noyze 阅读 22 收藏 0 点赞 0 评论 0
/**
 * Updates the {@link ShapeDrawable} which displays the
 * color of the bar across the screen.
 */
public void setProgressDrawable(Drawable mDrawable, int mNewColor)
{
    if (mDrawable instanceof LayerDrawable &&
        getProgressDrawable() instanceof LayerDrawable)
    {
        final LayerDrawable mDraw = (LayerDrawable) getProgressDrawable();
        final ClipDrawable mShape = (ClipDrawable)
            mDraw.findDrawableByLayerId(android.R.id.progress);

        // Make sure we've got everything.
        if (mShape != null && mProgress != null &&
            mProgress.getPaint() != null)
        {
            mProgress.getPaint().setColor(mNewColor);
            final Rect mBounds = mDraw.getBounds();
            super.setProgressDrawable(mDraw);
            getProgressDrawable().setBounds(mBounds);
            return;
        }
    }

    super.setProgressDrawable(mDrawable);
}
ClipDrawableProgressBar.java 文件源码 项目:365browser 阅读 19 收藏 0 点赞 0 评论 0
/**
 * Create the progress bar with a custom height.
 * @param context An Android context.
 * @param height The height in px of the progress bar.
 */
public ClipDrawableProgressBar(Context context, int height) {
    super(context);

    mDesiredVisibility = getVisibility();

    int foregroundColor =
            ApiCompatibilityUtils.getColor(getResources(), R.color.progress_bar_foreground);
    mBackgroundColor =
            ApiCompatibilityUtils.getColor(getResources(), R.color.progress_bar_background);

    mForegroundDrawable = new ColorDrawable(foregroundColor);
    setImageDrawable(
            new ClipDrawable(mForegroundDrawable, Gravity.START, ClipDrawable.HORIZONTAL));
    setBackgroundColor(mBackgroundColor);

    setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, height));
}
Assert.java 文件源码 项目:itsnat_droid 阅读 27 收藏 0 点赞 0 评论 0
public static void assertEquals(ClipDrawable a,ClipDrawable b)
{
    assertEqualsDrawableWrapper(a, b);

    Rect ar = new Rect(); Rect br = new Rect();
    a.getPadding(ar); b.getPadding(br);
    assertEquals(ar, br);

    Drawable.ConstantState a_state = a.getConstantState();
    Drawable.ConstantState b_state = b.getConstantState();

    Class classClipState = TestUtil.resolveClass(ClipDrawable.class.getName() + "$ClipState");
    assertEquals((Integer) TestUtil.getField(a_state, classClipState, "mOrientation"), (Integer) TestUtil.getField(b_state, classClipState, "mOrientation"));
    assertEquals((Integer) TestUtil.getField(a_state, classClipState, "mGravity"), (Integer) TestUtil.getField(b_state, classClipState, "mGravity"));

    // android:drawable
    if (Build.VERSION.SDK_INT < TestUtil.MARSHMALLOW) // 23
    {
        assertEquals((Drawable) TestUtil.getField(a_state, classClipState, "mDrawable"), (Drawable) TestUtil.getField(b_state, classClipState, "mDrawable"));
    }
}
MainActivity.java 文件源码 项目:android-art-res 阅读 26 收藏 0 点赞 0 评论 0
@Override
public void onWindowFocusChanged(boolean hasFocus) {
    super.onWindowFocusChanged(hasFocus);
    if (hasFocus) {
        // test transition
        View v = findViewById(R.id.test_transition);
        TransitionDrawable drawable = (TransitionDrawable) v.getBackground();
        drawable.startTransition(1000);

        // test scale
        View testScale = findViewById(R.id.test_scale);
        ScaleDrawable testScaleDrawable = (ScaleDrawable) testScale.getBackground();
        testScaleDrawable.setLevel(10);

        // test clip
        ImageView testClip = (ImageView) findViewById(R.id.test_clip);
        ClipDrawable testClipDrawable = (ClipDrawable) testClip.getDrawable();
        testClipDrawable.setLevel(8000);

        // test custom drawable
        View testCustomDrawable = findViewById(R.id.test_custom_drawable);
        CustomDrawable customDrawable = new CustomDrawable(Color.parseColor("#0ac39e"));
        testCustomDrawable.setBackgroundDrawable(customDrawable);
    }
}
ReportView.java 文件源码 项目:androidApp 阅读 24 收藏 0 点赞 0 评论 0
private void setShadow(int drawableId) {
    Drawable original = ContextCompat.getDrawable(TranSappApplication.getAppContext(), drawableId) ;
    Drawable shadow = getClone(original).mutate();
    toGrayScale(shadow);

    Drawable background = getClone(original).mutate();
    background.setColorFilter(
            ContextCompat.getColor(getContext(), R.color.background_white), PorterDuff.Mode.SRC_ATOP);

    Drawable drawableArray[]= new Drawable[]{background, shadow};
    LayerDrawable layerDraw = new LayerDrawable(drawableArray);


    clipDrawable = new ClipDrawable(layerDraw, Gravity.BOTTOM, ClipDrawable.VERTICAL);
    this.shadow.setImageDrawable(clipDrawable);
}
AppMaterial.java 文件源码 项目:pure 阅读 25 收藏 0 点赞 0 评论 0
/** RatingBar 星星 */
public static Drawable RATINGBAR_PROGERSS_DRAWABLE() {
    Drawable[] layers = new Drawable[3];
    Drawable darwable1 = getDrawable(IcomoonIcon.ICON_IC_STAR_NORMAL, NUMBER_3_INT,10,10);
    Drawable darwable2 = getDrawable(IcomoonIcon.ICON_IC_STAR_NORMAL, NUMBER_3_INT,10,10);
    Drawable darwable3 = getDrawable(IcomoonIcon.ICON_IC_STAR_SOLID, NUMBER_3_INT,10,10);


    layers[0] = darwable1;
    layers[1] = new ClipDrawable(darwable2, Gravity.LEFT, ClipDrawable.HORIZONTAL);
    layers[2] = new ClipDrawable(darwable3, Gravity.LEFT, ClipDrawable.HORIZONTAL);
    LayerDrawable drawable = new LayerDrawable(layers);
    drawable.setId(0, android.R.id.background);
    drawable.setId(1, android.R.id.secondaryProgress);
    drawable.setId(2, android.R.id.progress);
    return drawable;
}
MaterialUtils.java 文件源码 项目:pure 阅读 23 收藏 0 点赞 0 评论 0
private Drawable buildRatingBarDrawables(Bitmap[] images) {
    final int[] requiredIds = { android.R.id.background, android.R.id.secondaryProgress, android.R.id.progress };
    final float[] roundedCorners = new float[] { 5, 5, 5, 5, 5, 5, 5, 5 };
    Drawable[] pieces = new Drawable[3];
    for (int i = 0; i < 3; i++) {

        ShapeDrawable sd = new ShapeDrawable(new RoundRectShape(roundedCorners, null, null));

        BitmapShader bitmapShader = new BitmapShader(images[i], Shader.TileMode.REPEAT, Shader.TileMode.CLAMP);
        sd.getPaint().setShader(bitmapShader);

        ClipDrawable cd = new ClipDrawable(sd, Gravity.LEFT, ClipDrawable.HORIZONTAL);
        if (i == 0) {
            pieces[i] = sd;
        } else {
            pieces[i] = cd;
        }
    }
    LayerDrawable ld = new LayerDrawable(pieces);
    for (int i = 0; i < 3; i++) {
        ld.setId(i, requiredIds[i]);
    }
    return ld;
}
StrengthMeter.java 文件源码 项目:briar 阅读 29 收藏 0 点赞 0 评论 0
public StrengthMeter(Context context) {
    super(context, null, android.R.attr.progressBarStyleHorizontal);
    bar = new ShapeDrawable();
    bar.getPaint().setColor(RED);
    ClipDrawable clip = new ClipDrawable(bar, LEFT, HORIZONTAL);
    ShapeDrawable background = new ShapeDrawable();
    Paint p = background.getPaint();
    p.setStyle(FILL);
    p.setColor(getResources().getColor(android.R.color.transparent));
    p.setStyle(STROKE);
    p.setStrokeWidth(1);
    p.setColor(BLACK);
    Drawable[] layers = new Drawable[] { clip, background };
    setProgressDrawable(new LayerDrawable(layers));
    setIndeterminate(false);
}
ProfilePortraitView.java 文件源码 项目:Orpheus 阅读 23 收藏 0 点赞 0 评论 0
void positionStickyHeader() {
    // sticky header
    final int top = mListHeader.getTop();
    final int stickyHeight = mStickyHeader.getMeasuredHeight();
    final int headerHeight = mListHeader.getMeasuredHeight();
    final int delta = headerHeight - stickyHeight;
    final int pos = delta + top;
    // reposition header
    mStickyHeader.setTranslationY(Math.max(pos,0));
    if (pos < 0 && !mIsStuck) {
        mIsStuck = true;
        makeSlideAnimator(5000, 10000, (ClipDrawable)mStickyHeader.getBackground()).start();
    } else if (pos > 0 && mIsStuck) {
        mIsStuck = false;
        makeSlideAnimator(10000, 5000, (ClipDrawable)mStickyHeader.getBackground()).start();
    }
}
PlaylistPortraitView.java 文件源码 项目:Orpheus 阅读 18 收藏 0 点赞 0 评论 0
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
    // logic here derived from http://antoine-merle.com/blog/2013/10/04/making-that-google-plus-profile-screen/
    if (visibleItemCount == 0) return;
    if (firstVisibleItem == 0 && mList.getChildCount() > 0) {
        // parallax
        mHeroContainer.setTranslationY(-mList.getChildAt(0).getTop() / 2);
    }
    // sticky header
    final int top = mListHeader.getTop();
    final int stickyHeight = mStickyHeader.getMeasuredHeight();
    final int headerHeight = mListHeader.getMeasuredHeight();
    final int delta = headerHeight - stickyHeight;
    final int pos = delta + top;
    // reposition header
    mStickyHeader.setTranslationY(Math.max(pos,0));
    if (pos < 0 && !mIsStuck) {
        mIsStuck = true;
        makeSlideAnimator(5000, 10000, (ClipDrawable)mStickyHeader.getBackground()).start();
    } else if (pos > 0 && mIsStuck) {
        mIsStuck = false;
        makeSlideAnimator(10000,5000, (ClipDrawable)mStickyHeader.getBackground()).start();
    }
}
DefaultHeaderTransformer.java 文件源码 项目:appdeck-android 阅读 21 收藏 0 点赞 0 评论 0
private void applyProgressBarSettings() {
    if (mHeaderProgressBar != null) {
        final int strokeWidth = mHeaderProgressBar.getResources()
                .getDimensionPixelSize(R.dimen.ptr_progress_bar_stroke_width);

        mHeaderProgressBar.setIndeterminateDrawable(
                new SmoothProgressDrawable.Builder(mHeaderProgressBar.getContext())
                        .color(mProgressDrawableColor)
                        .strokeWidth(strokeWidth)
                        .build());

        ShapeDrawable shape = new ShapeDrawable();
        shape.setShape(new RectShape());
        shape.getPaint().setColor(mProgressDrawableColor);
        ClipDrawable clipDrawable = new ClipDrawable(shape, Gravity.CENTER, ClipDrawable.HORIZONTAL);

        mHeaderProgressBar.setProgressDrawable(clipDrawable);
    }
}
CmBatteryBar.java 文件源码 项目:Noyze 阅读 88 收藏 0 点赞 0 评论 0
/**
 * Updates the {@link ShapeDrawable} which displays the
 * color of the bar across the screen.
 */
public void setProgressDrawable(Drawable mDrawable, int mNewColor)
{
    if (mDrawable instanceof LayerDrawable &&
        getProgressDrawable() instanceof LayerDrawable)
    {
        final LayerDrawable mDraw = (LayerDrawable) getProgressDrawable();
        final ClipDrawable mShape = (ClipDrawable)
            mDraw.findDrawableByLayerId(android.R.id.progress);

        // Make sure we've got everything.
        if (mShape != null && mProgress != null &&
            mProgress.getPaint() != null)
        {
            mProgress.getPaint().setColor(mNewColor);
            final Rect mBounds = mDraw.getBounds();
            super.setProgressDrawable(mDraw);
            getProgressDrawable().setBounds(mBounds);
            return;
        }
    }

    super.setProgressDrawable(mDrawable);
}
DefaultHeaderTransformer.java 文件源码 项目:Klyph 阅读 24 收藏 0 点赞 0 评论 0
private void applyProgressBarSettings() {
    if (mHeaderProgressBar != null) {
        final int strokeWidth = mHeaderProgressBar.getResources()
                .getDimensionPixelSize(R.dimen.ptr_progress_bar_stroke_width);

        mHeaderProgressBar.setIndeterminateDrawable(
                new SmoothProgressDrawable.Builder(mHeaderProgressBar.getContext())
                        .color(mProgressDrawableColor)
                        .width(strokeWidth)
                        .build());

        ShapeDrawable shape = new ShapeDrawable();
        shape.setShape(new RectShape());
        shape.getPaint().setColor(mProgressDrawableColor);
        ClipDrawable clipDrawable = new ClipDrawable(shape, Gravity.CENTER, ClipDrawable.HORIZONTAL);

        mHeaderProgressBar.setProgressDrawable(clipDrawable);
    }
}
DefaultHeaderTransformer.java 文件源码 项目:CodeLessDoMore 阅读 21 收藏 0 点赞 0 评论 0
private void applyProgressBarSettings() {
    if (mHeaderProgressBar != null) {
        final int strokeWidth = mHeaderProgressBar.getResources()
                .getDimensionPixelSize(R.dimen.ptr_progress_bar_stroke_width);

        mHeaderProgressBar.setIndeterminateDrawable(
                new SmoothProgressDrawable.Builder(mHeaderProgressBar.getContext())
                        .color(mProgressDrawableColor)

                        .build());

        ShapeDrawable shape = new ShapeDrawable();
        shape.setShape(new RectShape());
        shape.getPaint().setColor(mProgressDrawableColor);
        ClipDrawable clipDrawable = new ClipDrawable(shape, Gravity.CENTER, ClipDrawable.HORIZONTAL);

        mHeaderProgressBar.setProgressDrawable(clipDrawable);
    }
}
DefaultHeaderTransformer.java 文件源码 项目:mpd-control 阅读 23 收藏 0 点赞 0 评论 0
private void applyProgressBarSettings() {
    if (mHeaderProgressBar != null) {
        final int strokeWidth = mHeaderProgressBar.getResources()
                .getDimensionPixelSize(R.dimen.ptr_progress_bar_stroke_width);

        mHeaderProgressBar.setIndeterminateDrawable(
                new SmoothProgressDrawable.Builder(mHeaderProgressBar.getContext())
                        .color(mProgressDrawableColor)
                        .strokeWidth(strokeWidth)
                        .build());

        ShapeDrawable shape = new ShapeDrawable();
        shape.setShape(new RectShape());
        shape.getPaint().setColor(mProgressDrawableColor);
        ClipDrawable clipDrawable = new ClipDrawable(shape, Gravity.CENTER, ClipDrawable.HORIZONTAL);

        mHeaderProgressBar.setProgressDrawable(clipDrawable);
    }
}
SwitchSeekBar.java 文件源码 项目:danmaku-project 阅读 22 收藏 0 点赞 0 评论 0
private void init(Context context) {
    setOnSeekBarChangeListener(this);
    scaledTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop();
    mChecked = false;
    progressDrawable = (LayerDrawable) getProgressDrawable();
    outDrawables = new Drawable[progressDrawable.getNumberOfLayers()];
    for (int i = 0; i < progressDrawable.getNumberOfLayers(); i++) {
        switch (progressDrawable.getId(i)) {
        case android.R.id.progress:// ���ý����
            proDrawable = (ClipDrawable) progressDrawable.getDrawable(i);
            break;
        default:
            break;
        }
    }
}
DefaultHeaderTransformer.java 文件源码 项目:Team11Prototype 阅读 23 收藏 0 点赞 0 评论 0
private void applyProgressBarSettings() {
    if (mHeaderProgressBar != null) {
        final int strokeWidth = mHeaderProgressBar.getResources()
                .getDimensionPixelSize(R.dimen.ptr_progress_bar_stroke_width);

        mHeaderProgressBar.setIndeterminateDrawable(
                new SmoothProgressDrawable.Builder(mHeaderProgressBar.getContext())
                        .color(mProgressDrawableColor)
                        .strokeWidth(strokeWidth)
                        .build());

        ShapeDrawable shape = new ShapeDrawable();
        shape.setShape(new RectShape());
        shape.getPaint().setColor(mProgressDrawableColor);
        ClipDrawable clipDrawable = new ClipDrawable(shape, Gravity.CENTER, ClipDrawable.HORIZONTAL);

        mHeaderProgressBar.setProgressDrawable(clipDrawable);
    }
}
DefaultHeaderTransformer.java 文件源码 项目:mpdroid-2014 阅读 22 收藏 0 点赞 0 评论 0
private void applyProgressBarSettings() {
    if (mHeaderProgressBar != null) {
        final int strokeWidth = mHeaderProgressBar.getResources()
                .getDimensionPixelSize(R.dimen.ptr_progress_bar_stroke_width);

        mHeaderProgressBar.setIndeterminateDrawable(
                new SmoothProgressDrawable.Builder(mHeaderProgressBar.getContext())
                        .color(mProgressDrawableColor)
                        .width(strokeWidth)
                        .build());

        ShapeDrawable shape = new ShapeDrawable();
        shape.setShape(new RectShape());
        shape.getPaint().setColor(mProgressDrawableColor);
        ClipDrawable clipDrawable = new ClipDrawable(shape, Gravity.CENTER, ClipDrawable.HORIZONTAL);

        mHeaderProgressBar.setProgressDrawable(clipDrawable);
    }
}
DefaultHeaderTransformer.java 文件源码 项目:KlyphMessenger 阅读 22 收藏 0 点赞 0 评论 0
private void applyProgressBarSettings() {
    if (mHeaderProgressBar != null) {
        final int strokeWidth = mHeaderProgressBar.getResources()
                .getDimensionPixelSize(R.dimen.ptr_progress_bar_stroke_width);

        mHeaderProgressBar.setIndeterminateDrawable(
                new SmoothProgressDrawable.Builder(mHeaderProgressBar.getContext())
                        .color(mProgressDrawableColor)
                        .width(strokeWidth)
                        .build());

        ShapeDrawable shape = new ShapeDrawable();
        shape.setShape(new RectShape());
        shape.getPaint().setColor(mProgressDrawableColor);
        ClipDrawable clipDrawable = new ClipDrawable(shape, Gravity.CENTER, ClipDrawable.HORIZONTAL);

        mHeaderProgressBar.setProgressDrawable(clipDrawable);
    }
}
SelZoneDialog.java 文件源码 项目:ghostcommander-supath 阅读 25 收藏 0 点赞 0 评论 0
private final LayerDrawable createSeekBarDrawable( int fg_color ) {
    LayerDrawable ld = null;
    try {
        Drawable[] list = new Drawable[2];
        final int bg_color = 0xff9d9e9d;
        GradientDrawable bg = Utils.getShadingEx( atRight ? fg_color : bg_color, 0.6f );
        bg.setCornerRadius( 5 );
        list[0] = bg;
        GradientDrawable fg = Utils.getShadingEx( atRight ? bg_color : fg_color, 0.6f );
        fg.setCornerRadius( 5 );
        list[1] = new ClipDrawable( fg, Gravity.LEFT, ClipDrawable.HORIZONTAL );
        ld = new LayerDrawable( list );
        ld.setId( 0, android.R.id.background );
        ld.setId( 1, android.R.id.progress );
    }
    catch( Exception e ) {
        e.printStackTrace();
    }
    return ld;
}
PartialView.java 文件源码 项目:SimpleRatingBar 阅读 19 收藏 0 点赞 0 评论 0
public void setFilledDrawable(Drawable drawable) {
    if (drawable.getConstantState() == null) {
        return;
    }

    ClipDrawable clipDrawable = new ClipDrawable(drawable.getConstantState().newDrawable(), Gravity.START, ClipDrawable.HORIZONTAL);
    mFilledView.setImageDrawable(clipDrawable);
}
PartialView.java 文件源码 项目:SimpleRatingBar 阅读 23 收藏 0 点赞 0 评论 0
public void setEmptyDrawable(Drawable drawable) {
    if (drawable.getConstantState() == null) {
        return;
    }

    ClipDrawable clipDrawable = new ClipDrawable(drawable.getConstantState().newDrawable(), Gravity.END, ClipDrawable.HORIZONTAL);
    mEmptyView.setImageDrawable(clipDrawable);
}
DownloadFragment.java 文件源码 项目:tumbviewer 阅读 25 收藏 0 点赞 0 评论 0
RxDownloadVH(View itemView) {
    super(itemView);
    progressDrawable = (ClipDrawable) itemView.getBackground();
    stateView = (ImageView) itemView.findViewById(R.id.download_state);
    progress = (TextView) itemView.findViewById(R.id.progress);
    urlView = (TextView) itemView.findViewById(R.id.url);
    stateView.setOnClickListener(this);
    itemView.setOnClickListener(this);
}
PSlider_.java 文件源码 项目:phonk 阅读 21 收藏 0 点赞 0 评论 0
public PSlider_(AppRunner appRunner) {
    super(appRunner.getAppContext());
    super.setMax(MAX_VALUE);
    // setProgressDrawable(getResources().getDrawable(R.drawable.ui_seekbar_progress));

    mSlider = this;
    // getStyles = new Styler(appRunner, this);

    //Custom background drawable allows you to draw how you want it to look if needed
    // SeekBarBackgroundDrawable backgroundDrawable = new SeekBarBackgroundDrawable(appRunner.getAppContext());
    ColorDrawable progressDrawable = new ColorDrawable(Color.BLUE);
    SeekBarProgressDrawable clipProgressDrawable = new SeekBarProgressDrawable(progressDrawable, Gravity.LEFT, ClipDrawable.HORIZONTAL, appRunner.getAppContext());

    ColorDrawable progressDrawable2 = new ColorDrawable(Color.GREEN);
    //Custom seek bar slider drawable. Also allows you to modify appearance.
    InsetDrawable insetDrawable = new InsetDrawable(progressDrawable2, 0, 0, 0, 0);

    Drawable[] drawables = new Drawable[]{ insetDrawable, clipProgressDrawable };

    //Create layer drawables with android pre-defined ids
    LayerDrawable layerDrawable = new LayerDrawable(drawables);
    // layerDrawable.setId(0,android.R.id.background);
    // layerDrawable.setId(1,android.R.id.slider);

    //Set to seek bar
    setThumb(null);
    setProgressDrawable(layerDrawable);
}


问题


面经


文章

微信
公众号

扫码关注公众号