2013-09-10 2 views
1

У меня есть несколько строк в моем приложении. Если кто-то касается линии, я должен выделить линию, затронутую. Я думаю, если бы я мог нарисовать прозрачный прямоугольник со светлым цветом, отличным от цвета щелкнутой линии, тогда он будет правильно подсвечен. Так может кто-нибудь сказать мне, как я могу нарисовать прозрачный прямоугольник на холсте Android? Цвет моей линии черный. См. Рис. Заранее спасибо.Рисунок двуцветного квадрата на андроиде холст transperant rectangle

enter image description here

ответ

1

попробовать этот способ

private Paint mPaint = new Paint(Paint.ANTI_ALIAS_FLAG); 
     mPaint.setStyle(Paint.Style.STROKE); 
     mPaint.setStrokeCap(Paint.Cap.ROUND); 
     mPaint.setColor(Color.RED); 
     mPaint.setStrokeWidth(3); 
     mPaint.setPathEffect(null); 
     canvas.drawRect(x, y, x + width, y + height, mPaint); 
     mPaint.setStyle(Paint.Style.STROKE); 
     mPaint.setStrokeCap(Paint.Cap.ROUND); 
     mPaint.setColor(Color.WHITE); 
     mPaint.setStrokeWidth(3); 
     mPaint.setPathEffect(new DashPathEffect(new float[] { 5, 5 }, 5)); 
     canvas.drawRect(x, y, x + width, y + height, mPaint); 
2

Это нарисует зеленый 50% прозрачный прямоугольник на холсте:

Paint myPaint = new Paint(); 
myPaint.setStyle(Paint.Style.FILL); 
myPaint.setColor(Color.rgba(0, 256, 0, 128)); // green color with 50% transparency 
// c is your canvas 
c.drawRect(100, 100, 200, 200, myPaint); 
1

вы можете использовать это:

Paint paint = new Paint(); 
paint.setStyle(Paint.Style.FILL); 
paint.setColor(Color.MAGENTA); 
DashPathEffect dashPath =new DashPathEffect(new float[ ]{70,2}, 30); 
paint.setPathEffect(dashPath); 
paint.setStrokeWidth(80); 
canvas.drawRect(30, 300 , 320, 300, paint); 
Смежные вопросы