У меня есть два пакета, один из которых является основным с MainActivity
. Другой пакет импортируется в MainActivity
. Другой пакет посвящен рисованию на холсте. Однако любые изменения, которые я делаю в импортированном пакете, не отображаются в реальном приложении. Например, когда я изменяю размер нарисованного прямоугольника, на самом деле ничего не меняется. Кто-нибудь знает, почему это так?
Извините, если это тривиальный вопрос, я только начал изучать Android Dev. Кроме того, я получил код от GitHub, и я пытаюсь извлечь уроки из него. Если есть какая-либо информация, которую я пропустил, это важно, пожалуйста, спросите Спасибо
Код от: https://github.com/husaynhakeem/android-face-detector
Конкретная часть, которую я пытался изменить, это ANCHOR_RADIUS
, ID_OFFSET
, а также значения xOffset
, yOffset
в FaceBoundsOverlay
. Каждая переменная влияет на некоторую границу, которая должна использоваться для рисования прямоугольника и центральной точки. Я вставил метод drawAnchor
внизу. В этом методе, когда я изменил ANCHOR_RADIUS
на 50f
, я ожидал, что точка станет больше, но ничего не изменилось.
FaceBoundsOverlay
находится в пакете с названием facedetector, а MainActivity
находится в пакете с именем facedetectorapp
class FaceBoundsOverlay @JvmOverloads constructor(
ctx: Context,
attrs: AttributeSet? = null,
defStyleAttr: Int = 0) : View(ctx, attrs, defStyleAttr) {
.....
private fun drawAnchor(canvas: Canvas, centerX: Float, centerY:
Float) { private fun drawAnchor(canvas: Canvas, centerX: Float,
centerY: Float) {
canvas.drawCircle(
centerX,
centerY,
ANCHOR_RADIUS,
anchorPaint)
}
companion object {
private const val ANCHOR_RADIUS = 10f
// private const val ANCHOR_RADIUS = 50f
private const val ID_OFFSET = 50f
}
}