#android #transform #antialiasing
#Android #преобразование #сглаживание
Вопрос:
Я преобразую дочерние представления в своей viewgroup, когда я просматриваю viewgroup (своего рода эффект обложки). Я использую matrix.setPolyToPoly
для преобразования. Представления имеют границы, которые нуждаются в серьезном сглаживании.
До сих пор я пытался использовать
canvas.setDrawFilter(new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG));
у моих детей onDraw
, но, похоже, это ничего не меняет. Кроме того, я знаю BitmapDrawable.setAntiAlias(true)
, но мои дочерние элементы — это не чертежи, а полноценные группы просмотра с представлениями внутри, поэтому я не могу это использовать.
Ответ №1:
Переопределение
protected void dispatchDraw(Canvas canvas)
в вашем пользовательском макете и установите там фильтр.
canvas.setDrawFilter(new PaintFlagsDrawFilter(1, Paint.ANTI_ALIAS_FLAG));
super.dispatchDraw(canvas);
Я столкнулся с аналогичной проблемой в моей галерее, вдохновленной cover flow. Это решило мою проблему.