#android #kotlin #android-custom-view
#Android #kotlin #android-пользовательский вид
Вопрос:
Я пытаюсь создать компонент circle и просто получаю странные ошибки. Когда я использую компонент в режиме конструктора, я вижу, что компонент circle отображается в представлении, но я не могу скомпилировать, так как получаю следующие ошибки. Приветствуется любая помощь. Спасибо
// drawable/circle.xml
<Circle
android:id="@ id/circle_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
// new package called Shapes.Circle.kt
import android.content.Context
import android.graphics.Canvas
import android.graphics.Color
import android.graphics.Paint
import android.graphics.PointF
import android.util.AttributeSet
import android.view.View
public class Circle @JvmOverloads constructor(
context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0
) : View(context, attrs, defStyleAttr) {
val paint = Paint().apply {
color = Color.RED
}
private val centre = PointF(50F, 50F)
override fun onDraw(canvas: Canvas?) {
canvas?.drawCircle(centre.x, centre.y, 50F, paint)
}
}
Вот моя ошибка:
021-01-12 04:12:03.354 28620-28620/com.example E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example, PID: 28620
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example/com.example.SplashScreen}: android.view.InflateException: Binary XML file line #12 in com.example:layout/activity_splash_screen: Binary XML file line #12 in com.example:layout/activity_splash_screen: Error inflating class Circle
Комментарии:
1. Пожалуйста, опубликуйте activity_splash_screen.xml содержимое файла тоже было бы очень полезно.
2. Посмотрите на трассировку стека еще раз. Возможно, вы найдете еще немного текста, который подробнее рассказывает об ошибке.
3. Используйте полное имя для класса в xml.
packagename.Circle
.4. ваша ошибка произошла в строке 12 в файле com.example:layout / activity_splash_screen . пожалуйста, отправьте файл com.example:layout / activity_splash_screen .