2016-02-27 2 views
0

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

код для создания объекта краски:

Paint p = new Paint(); 
p.setStyle(Paint.Style.FILL); 
p.setColor(Color.argb(100, 255, 71, 126)); 

Он рисуется так:

canvas.drawPath(myPath, p); 

Это worsk большой первый раз, когда он обращается, однако каждый раз, когда он идет перерисовывать его (например, при перемещении, затем обратно в представление)

Пользовательский вид представляет собой представление группы ViewGroup с этим набором кода, чтобы он рисовал Сам

setWillNotDraw(false); 

Благодаря

+0

Возможно, вы добавили несколько своих взглядов друг на друга. Попробуйте взглянуть на ваш взгляд hierachy –

+0

Этот вид в настоящее время один в RelativeLayout без детей – user1377493

+0

Вы добавляете представление по xml или добавляете его программно? –

ответ

0

Вы очистив вид между ними рисует? В противном случае вы можете рисовать поверх своего предыдущего результата. Нанесение полупрозрачного цвета поверх другого полупрозрачного цвета приведет к чему-то менее полупрозрачному (ну, в зависимости от вашего Porter/Duff mode ...).

+0

Я так считаю. Я попытался запустить это: 'canvas.drawColor (Color.TRANSPARENT, PorterDuff.Mode.CLEAR);' в первой строке onDraw, все та же проблема. – user1377493

 Смежные вопросы

  • Нет связанных вопросов^_^