Junior — Middle
Meséljen az Androidon saját felhasználói felület komponensek létrehozásáról és használatáról szerzett tapasztalatairól
sobes.tech MI
Válasz az MI-től
Androidon saját felhasználói felület komponenseket hoztam létre a standard View vagy ViewGroup kiterjesztésével. Például készítettem egy egyedi widgetet az animációval ellátott progressz mutatására, amely a View-ból örököl és felülírja az onDraw és onMeasure metódusokat a testreszabott rajzoláshoz és méretezéshez.
Példa:
class CustomProgressView(context: Context, attrs: AttributeSet) : View(context, attrs) {
private val paint = Paint().apply { color = Color.BLUE; strokeWidth = 10f }
private var progress = 0
override fun onDraw(canvas: Canvas) {
super.onDraw(canvas)
val width = width * progress / 100
canvas.drawRect(0f, 0f, width.toFloat(), height.toFloat(), paint)
}
fun setProgress(value: Int) {
progress = value.coerceIn(0, 100)
invalidate()
}
}
Ez a megközelítés lehetővé teszi egyedi felhasználói felület elemek létrehozását, amelyek nehezen vagy lehetetlenek a standard eszközökkel.