Как нарисовать градиентный или стильный линейный холст

#android #android-canvas #paint

#Android #android-холст #Краски

Вопрос:

Это моя деятельность, в которой я использую для рисования пунктирной линии. но я хочу нарисовать градиент или какой-то стиль в строке..

DragObserverLayout.java

 //class for draw line from one place to another
public class DragObserverLayout extends RelativeLayout {

  float startX, startY, stopX, stopY;
  private Paint mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
  private List<Rect> lines = new ArrayList<Rect>();
  public List<Path> linePath = new ArrayList<Path>();

    //class for dragging
public DragObserverLayout(Context context, AttributeSet attrs) {
    super(context, attrs);
    //setting color stroke and effect
    mPaint.setColor(Color.RED);
    mPaint.setStyle(Style.STROKE);
    mPaint.setStrokeCap(Paint.Cap.BUTT);
    mPaint.setPathEffect(new DashPathEffect(new float[] {5,5}, 0));
    mPaint.setStrokeWidth(10.0f);

}

//for canvas
@Override
protected void dispatchDraw(Canvas canvas) {
    super.dispatchDraw(canvas);
    final int count = lines.size();

    for (int i = 0; i < count; i  ) {
        final Rect r = lines.get(i);

        canvas.drawLine(r.left, r.top, r.right, r.bottom, mPaint);

    }

}
 

Комментарии:

1. Пожалуйста, напишите правильную строку и скажите мне, где я должен использовать??

2. какая правильная линия? что вы имеете в виду?

3. я не знаю, как использовать setShader, так что можете ли вы показать какой-нибудь пример

4. вы пробовали что-нибудь?

5. я попробовал растровое изображение, также попробовал шейдер, но ничего не происходит, поэтому я здесь, в StackOverflow