android.graphics.drawable.ShapeDrawable#setBounds()源码实例Demo

下面列出了android.graphics.drawable.ShapeDrawable#setBounds() 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: indigenous-android   文件: ColorPickerAdapter.java
private void buildColorPickerView(View view, int colorCode) {
    view.setVisibility(View.VISIBLE);

    ShapeDrawable biggerCircle = new ShapeDrawable(new OvalShape());
    biggerCircle.setIntrinsicHeight(20);
    biggerCircle.setIntrinsicWidth(20);
    biggerCircle.setBounds(new Rect(0, 0, 20, 20));
    biggerCircle.getPaint().setColor(colorCode);

    ShapeDrawable smallerCircle = new ShapeDrawable(new OvalShape());
    smallerCircle.setIntrinsicHeight(5);
    smallerCircle.setIntrinsicWidth(5);
    smallerCircle.setBounds(new Rect(0, 0, 5, 5));
    smallerCircle.getPaint().setColor(Color.WHITE);
    smallerCircle.setPadding(10, 10, 10, 10);
    Drawable[] drawables = {smallerCircle, biggerCircle};

    LayerDrawable layerDrawable = new LayerDrawable(drawables);

    view.setBackgroundDrawable(layerDrawable);
}
 
源代码2 项目: PhotoEditor   文件: ColorPickerAdapter.java
private void buildColorPickerView(View view, int colorCode) {
    view.setVisibility(View.VISIBLE);

    ShapeDrawable biggerCircle = new ShapeDrawable(new OvalShape());
    biggerCircle.setIntrinsicHeight(20);
    biggerCircle.setIntrinsicWidth(20);
    biggerCircle.setBounds(new Rect(0, 0, 20, 20));
    biggerCircle.getPaint().setColor(colorCode);

    ShapeDrawable smallerCircle = new ShapeDrawable(new OvalShape());
    smallerCircle.setIntrinsicHeight(5);
    smallerCircle.setIntrinsicWidth(5);
    smallerCircle.setBounds(new Rect(0, 0, 5, 5));
    smallerCircle.getPaint().setColor(Color.WHITE);
    smallerCircle.setPadding(10, 10, 10, 10);
    Drawable[] drawables = {smallerCircle, biggerCircle};

    LayerDrawable layerDrawable = new LayerDrawable(drawables);

    view.setBackgroundDrawable(layerDrawable);
}
 
private void buildColorPickerView(View view, int colorCode) {
    view.setVisibility(View.VISIBLE);

    ShapeDrawable biggerCircle = new ShapeDrawable(new OvalShape());
    biggerCircle.setIntrinsicHeight(20);
    biggerCircle.setIntrinsicWidth(20);
    biggerCircle.setBounds(new Rect(0, 0, 20, 20));
    biggerCircle.getPaint().setColor(colorCode);

    ShapeDrawable smallerCircle = new ShapeDrawable(new OvalShape());
    smallerCircle.setIntrinsicHeight(5);
    smallerCircle.setIntrinsicWidth(5);
    smallerCircle.setBounds(new Rect(0, 0, 5, 5));
    smallerCircle.getPaint().setColor(Color.WHITE);
    smallerCircle.setPadding(10, 10, 10, 10);
    Drawable[] drawables = {smallerCircle, biggerCircle};

    LayerDrawable layerDrawable = new LayerDrawable(drawables);

    view.setBackgroundDrawable(layerDrawable);
}
 
源代码4 项目: AndroidDigIn   文件: MagnifierView.java
public MagnifierView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        bitmap = ((BitmapDrawable) getResources().getDrawable(R.drawable.pic)).getBitmap();
        scaledBitmap = Bitmap.createScaledBitmap(bitmap, bitmap.getWidth() * FACTOR, bitmap.getHeight() * FACTOR,
                true);
//        bitmap.recycle();
        mBitmapShader = new BitmapShader(scaledBitmap,
                Shader.TileMode.CLAMP,
                Shader.TileMode.CLAMP);
        mShapeDrawable = new ShapeDrawable(new OvalShape());
        mShapeDrawable.setBounds(0, 0, WIDTH, WIDTH);
        mShapeDrawable.getPaint().setShader(mBitmapShader);
        mMatrix = new Matrix();
        mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
        mPaint.setColor(Color.RED);
        mPaint.setStyle(Paint.Style.STROKE);
        mPaint.setStrokeWidth(3);
    }
 
源代码5 项目: photo-editor-android   文件: ColorPickerAdapter.java
private void buildColorPickerView(View view, int colorCode) {
    view.setVisibility(View.VISIBLE);

    ShapeDrawable biggerCircle = new ShapeDrawable(new OvalShape());
    biggerCircle.setIntrinsicHeight(20);
    biggerCircle.setIntrinsicWidth(20);
    biggerCircle.setBounds(new Rect(0, 0, 20, 20));
    biggerCircle.getPaint().setColor(colorCode);

    ShapeDrawable smallerCircle = new ShapeDrawable(new OvalShape());
    smallerCircle.setIntrinsicHeight(5);
    smallerCircle.setIntrinsicWidth(5);
    smallerCircle.setBounds(new Rect(0, 0, 5, 5));
    smallerCircle.getPaint().setColor(Color.WHITE);
    smallerCircle.setPadding(10, 10, 10, 10);
    Drawable[] drawables = {smallerCircle, biggerCircle};

    LayerDrawable layerDrawable = new LayerDrawable(drawables);

    view.setBackgroundDrawable(layerDrawable);
}
 
@TargetApi(Build.VERSION_CODES.JELLY_BEAN)
private void Colorize() {
    for (int i = 0; i < buttons.size(); i++) {
        ShapeDrawable d = new ShapeDrawable(new OvalShape());
        d.setBounds(58, 58, 58, 58);
        Log.e("Shape drown no", i + "");
        buttons.get(i).setVisibility(View.INVISIBLE);

            d.getPaint().setStyle(Paint.Style.FILL);
            d.getPaint().setColor(colors.get(i));

        buttons.get(i).setBackground(d);
    }
        animate();

}
 
源代码7 项目: CanEffect   文件: GameView.java
public void onDraw(Canvas canvas)
{
    super.onDraw(canvas);

    //将图片裁剪为椭圆形
    /* 构建ShapeDrawable对象并定义形状为椭圆 */
    mShapeDrawableQQ = new ShapeDrawable(new OvalShape());

    /* 设置要绘制的椭圆形的东西为ShapeDrawable图片 */
    mShapeDrawableQQ.getPaint().setShader(mBitmapShader);

    /* 设置显示区域 */
    mShapeDrawableQQ.setBounds(0,0, BitQQwidth, BitQQheight);

    /* 绘制ShapeDrawableQQ */
    mShapeDrawableQQ.draw(canvas);

    //绘制渐变的矩形
    mPaint.setShader(mLinearGradient);
    canvas.drawRect(BitQQwidth, 0, 320, 156, mPaint);

    //显示混合渲染效果
    mPaint.setShader(mComposeShader);
    canvas.drawRect(0, 300, BitQQwidth, 300+BitQQheight, mPaint);

    //绘制环形渐变
    mPaint.setShader(mRadialGradient);
    canvas.drawCircle(50, 200, 50, mPaint);

    //绘制梯度渐变
    mPaint.setShader(mSweepGradient);
    canvas.drawRect(150, 160, 300, 300, mPaint);

}
 
private void ColorizeOld() {
    for (int i = 0; i < buttons.size(); i++) {
        ShapeDrawable d = new ShapeDrawable(new OvalShape());
        d.getPaint().setColor(colors.get(i));
        d.getPaint().setStrokeWidth(1f);
        d.setBounds(58, 58, 58, 58);
        buttons.get(i).setVisibility(View.INVISIBLE);
            d.getPaint().setStyle(Paint.Style.FILL);
            d.getPaint().setColor(colors.get(i));
    buttons.get(i).setBackgroundDrawable(d);
    }
    animate();
}
 
源代码9 项目: line-chart-view   文件: LineChartView.java
protected void drawYLabels(ShapeDrawable labelDrawable) {
    Shape labelsShape = new Shape() {
        @Override
        public void draw(Canvas canvas, Paint paint) {
            labelPaint.setTextAlign(Paint.Align.RIGHT);
            labelPaint.setTextSize(lineChartStyle.getLabelTextSize());
            labelPaint.setColor(lineChartStyle.getLabelTextColor());

            long minY = getMinY();
            long maxY = getMaxY();
            long yrange = maxY - minY;

            float height = getHeight();

            float left = getYLabelWidth();
            List<Long> yLabels = getYLabels();
            for (long y : yLabels) {
                String label = formatYLabel(y);
                float yCoordinate = getYCoordinate(height, y, minY, yrange);
                canvas.drawText(label, left, yCoordinate, labelPaint);
            }
        }
    };
    measureYLabel();
    labelDrawable.setBounds(0, 0, getWidth(), getHeight());
    labelDrawable.setShape(labelsShape);
}
 
源代码10 项目: line-chart-view   文件: LineChartView.java
protected void drawXLabels(ShapeDrawable labelDrawable) {
    Shape labelsShape = new Shape() {
        @Override
        public void draw(Canvas canvas, Paint paint) {
            labelPaint.setTextAlign(Paint.Align.CENTER);
            labelPaint.setTextSize(lineChartStyle.getLabelTextSize());
            labelPaint.setColor(lineChartStyle.getLabelTextColor());

            long minX = getMinX();
            long maxX = getMaxX();
            long xrange = maxX - minX;

            float width = getWidth();
            float height = getHeight();

            float labelHeight = height - lineChartStyle.getXLabelMargin();
            Rect textBounds = new Rect();
            List<Long> xLabels = getXLabels();
            for (long x : xLabels) {
                String label = formatXLabel(x);
                labelPaint.getTextBounds(label, 0, label.length(), textBounds);
                float xCoordinate = getXCoordinate(width, x, minX, xrange);
                canvas.drawText(label, xCoordinate, labelHeight, labelPaint);
            }
        }
    };
    measureXLabel();
    labelDrawable.setBounds(0, 0, getWidth(), getHeight());
    labelDrawable.setShape(labelsShape);
}
 
源代码11 项目: line-chart-view   文件: LineChartView.java
protected void drawLineChart(ShapeDrawable chartDrawable) {
    Shape chartShape = new Shape() {
        @Override
        public void draw(Canvas canvas, Paint paint) {
            long minX = getMinX();
            long maxX = getMaxX();
            long xrange = maxX - minX;

            long minY = getMinY();
            long maxY = getMaxY();
            long yrange = maxY - minY;

            float width = getWidth();
            float height = getHeight();
            float left = getChartLeftMargin();
            float top = getChartTopMargin();
            float right = width - getChartRightMargin();
            float bottom = height - getChartBottomMargin();

            drawChartFrame(canvas, left, top, right, bottom);

            drawXGrid(canvas, minX, xrange);
            drawYGrid(canvas, minY, yrange);

            List<LineChartStyle.Border> borders = lineChartStyle.getBorders();
            for (LineChartStyle.Border border : borders) {
                drawChartBorder(canvas, border, left, top, right, bottom);
            }

            drawLines(canvas, minX, xrange, minY, yrange);

            if (lineChartStyle.isDrawPoint()) {
                drawPoints(canvas, minX, xrange, minY, yrange);
            }
        }
    };
    chartDrawable.setBounds(0, 0, getWidth(), getHeight());
    chartDrawable.setShape(chartShape);
}
 
源代码12 项目: android-pin   文件: PinputView.java
protected Drawable makeCharShape(float size, int color, Rect bounds) {
    Shape shape = new OvalShape();
    shape.resize(size, size);
    ShapeDrawable drawable = new ShapeDrawable(shape);
    drawable.getPaint().setColor(color);
    drawable.getPaint().setFlags(Paint.ANTI_ALIAS_FLAG);
    drawable.setBounds(bounds);
    return drawable;
}
 
源代码13 项目: CropImageView   文件: CropImageView.java
private Drawable getCircleDrawable(int color, int width, int height) {
       ShapeDrawable biggerCircle= new ShapeDrawable( new OvalShape());
       biggerCircle.setIntrinsicWidth( width);
       biggerCircle.setIntrinsicHeight( height );
       biggerCircle.setBounds(new Rect(0, 0, width, height));
       biggerCircle.getPaint().setColor(color);
       
       return biggerCircle;
}
 
源代码14 项目: ShadowLayout   文件: ShadowLayout.java
private void setSpaceCorner(Canvas canvas, int trueHeight) {
    int leftTop;
    int rightTop;
    int rightBottom;
    int leftBottom;
    if (mCornerRadius_leftTop == -1) {
        leftTop = (int) mCornerRadius;
    } else {
        leftTop = (int) mCornerRadius_leftTop;
    }

    if (leftTop > trueHeight / 2) {
        leftTop = trueHeight / 2;
    }

    if (mCornerRadius_rightTop == -1) {
        rightTop = (int) mCornerRadius;
    } else {
        rightTop = (int) mCornerRadius_rightTop;
    }

    if (rightTop > trueHeight / 2) {
        rightTop = trueHeight / 2;
    }

    if (mCornerRadius_rightBottom == -1) {
        rightBottom = (int) mCornerRadius;
    } else {
        rightBottom = (int) mCornerRadius_rightBottom;
    }

    if (rightBottom > trueHeight / 2) {
        rightBottom = trueHeight / 2;
    }


    if (mCornerRadius_leftBottom == -1) {
        leftBottom = (int) mCornerRadius;
    } else {
        leftBottom = (int) mCornerRadius_leftBottom;
    }

    if (leftBottom > trueHeight / 2) {
        leftBottom = trueHeight / 2;
    }

    float[] outerR = new float[]{leftTop, leftTop, rightTop, rightTop, rightBottom, rightBottom, leftBottom, leftBottom};//左上,右上,右下,左下
    ShapeDrawable mDrawables = new ShapeDrawable(new RoundRectShape(outerR, null, null));
    mDrawables.getPaint().setColor(paint.getColor());
    mDrawables.setBounds(leftPading, topPading, getWidth() - rightPading, getHeight() - bottomPading);
    mDrawables.draw(canvas);
}
 
源代码15 项目: MTweaks-KernelAdiutorMOD   文件: VerticalSeekBar.java
private void grxSetUPAdditionalOptions(TypedArray a){

        mGrxZeroOffset = a.getInt(R.styleable.VerticalSeekBar_zeroOffset,0);
        mGrxDividerStep = a.getInt(R.styleable.VerticalSeekBar_dividerStep,0);
        mGrxHalfDividerLength = a.getDimension(R.styleable.VerticalSeekBar_dividerLength,0f)/2;
        mGrxHalfDividerThickness = a.getDimensionPixelSize(R.styleable.VerticalSeekBar_dividerThickness,0)/2;
        mGrxHalfProgressThickness = a.getDimensionPixelSize(R.styleable.VerticalSeekBar_progressThickness,0)/2;
        mGrxShowBackgroundTrack = a.getBoolean(R.styleable.VerticalSeekBar_showBackgroundTrack,true);
        mGrxZeroOffsetCircleRadius = a.getDimensionPixelSize(R.styleable.VerticalSeekBar_zeroOffsetCircleRadius,0);
        mGrxMin = a.getInt(R.styleable.VerticalSeekBar_min,0);

        mGrxNumSteps = getMax() - mGrxMin;
        mGrxProgressPaint = new Paint();
        mGrxProgressPaint.setStyle(Paint.Style.FILL);

        TypedValue typedValue = new TypedValue();
        TypedArray b = getContext().obtainStyledAttributes(typedValue.data, new int[] { android.R.attr.colorAccent });
        int color = b.getColor(0, 0);
        b.recycle();

        mGrxProgressPaint.setColor(color);

        Drawable currentprogressdrawable = getProgressDrawable();
        Drawable track = null;
        mGrxShowBackgroundTrack=false;//bbb
        if(currentprogressdrawable!= null && currentprogressdrawable instanceof LayerDrawable) {
            if (!mGrxShowBackgroundTrack){
                int indexbg = ((LayerDrawable) currentprogressdrawable).findIndexByLayerId(android.R.id.background);
                ((LayerDrawable) currentprogressdrawable).setDrawable(indexbg, new ColorDrawable(0));
            }

           int indexprogress = ((LayerDrawable) currentprogressdrawable).findIndexByLayerId(android.R.id.progress);
           ((LayerDrawable) currentprogressdrawable).setDrawable(indexprogress, new ColorDrawable(0));

        }

        mGrxDividerPaint = new Paint();
        mGrxDividerPaint.setStyle(Paint.Style.FILL_AND_STROKE);
        mGrxDividerPaint.setColor(color);
        mGrxDividerPaint.setStrokeWidth(2.0f);

        mTickMark = new ShapeDrawable(new OvalShape());
        mTickMark.setIntrinsicHeight(10);
        mTickMark.setIntrinsicWidth(10);
        mTickMark.getPaint().setColor(color);
        mTickMark.setBounds(new Rect(-2, -2, 2, 2));

        mTickMarkSoft = new ShapeDrawable(new OvalShape());
        mTickMarkSoft.setIntrinsicHeight(10);
        mTickMarkSoft.setIntrinsicWidth(10);
        mTickMarkSoft.getPaint().setColor(color&0x10ffffff);
        mTickMarkSoft.setBounds(new Rect(-4, -4, 4, 4));
    }
 
源代码16 项目: talk-android   文件: AddTagAdapter.java
public TagViewHolder(View itemView) {
            super(itemView);
            ShapeDrawable drawable = new ShapeDrawable(new OvalShape());
            final int size = DensityUtil.dip2px(itemView.getContext(), 8.0f);
            drawable.setIntrinsicHeight(size);
            drawable.setIntrinsicWidth(size);
            drawable.setBounds(0, 0, size, size);
            drawable.getPaint().setColor(itemView.getResources().getColor(R.color.colorPrimary));
            tagText = (TextView) itemView.findViewById(R.id.tag_text);
            tagText.setCompoundDrawables(drawable, null, null, null);
            tagSelectImage = (ImageView) itemView.findViewById(R.id.tag_check);
            final Drawable selectImage = ThemeUtil.getDrawableWithColor(itemView.getResources(), R.drawable.ic_save_blue, R.color.colorPrimary);
            tagSelectImage.setImageDrawable(selectImage);
        }