
Анастасий
6 год назад
Этот код нарисует красный круг, на краях которого будет заметна "лесенка". Почему это происходит? Как избавится от этого артефакта?class CircleView : View { private val paint = Paint().apply { color = Color.RED strokeWidth = 3f } private var radius: Float = 0f constructor(context: Context?) : super(context) constructor(context: Context?, attrs: AttributeSet?) : super(context, attrs) constructor(context: Context?, attrs: AttributeSet?, defStyleAttr: Int) : super(context, attrs, defStyleAttr) override fun onDraw(canvas: Canvas) { canvas.drawCircle((measuredWidth / 2).toFloat(), (measuredHeight / 2).toFloat(), radius, paint) } override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) { super.onMeasure(widthMeasureSpec, heightMeasureSpec) radius = Math.min(measuredWidth, measuredHeight) / 2f } }
ОТВЕТЫ

Тихон
Oct 24, 2020
Если создать шаблон строки с автозаполнением, то можно немного упростить код:
import sys
num_steps = int(sys.argv[1])
fmt_template = '{}.{:>%d}' % num_steps
for x in range(1, num_steps + 1):
print(fmt_template.format(x, '#' * x))
При num_steps = 4:
1. #
2. ##
3. ###
4.####
633
Смежные вопросы: