相关疑难解决方法(0)

Android中的Paint.StrokeWidth = 1的drawLine问题

我想我遇到了一个讨厌的bug.问题是没有绘制具有轻微渐变并且使用Paint with StrokeWidth = 1的近似水平线,例如:

public class MyControl extends View {

   public MyControl(Context context) {
           super(context);
           // TODO Auto-generated constructor stub
   }

   @Override
   protected void onDraw(Canvas canvas)
   {
           super.onDraw(canvas);

       Paint pen = new Paint();
       pen.setColor(Color.RED);
       pen.setStrokeWidth(1);
       pen.setStyle(Paint.Style.STROKE);

           canvas.drawLine(100, 100, 200, 90, pen); //not painted
           canvas.drawLine(100, 100, 200, 100, pen);
           canvas.drawLine(100, 100, 200, 110, pen); //not painted
           canvas.drawLine(100, 100, 200, 120, pen); //not painted
           canvas.drawLine(100, 100, 200, 130, pen);

           pen.Color = Color.MAGENTA;
           pen.setStrokeWidth(2);

           canvas.drawLine(100, 200, 200, 190, pen);
           canvas.drawLine(100, 200, 200, …
Run Code Online (Sandbox Code Playgroud)

java android canvas

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

android ×1

canvas ×1

java ×1