Middle
Hoe zou je een TextView uitbreiden met behulp van een methode?
sobes.tech AI
Antwoord van AI
Je kunt een aangepaste klasse maken die erft van TextView en de benodigde methoden overschrijft of je eigen methoden toevoegt.
Bijvoorbeeld, om een aangepaste tekstweergave toe te voegen:
class CustomTextView(context: Context, attrs: AttributeSet? = null) : AppCompatTextView(context, attrs) {
override fun onDraw(canvas: Canvas) {
super.onDraw(canvas)
// Extra tekenen of uiterlijk aanpassen
}
fun setCustomText(newText: String) {
text = newText.toUpperCase() // Voorbeeld van eenvoudige uitbreiding van functionaliteit
}
}
Of om speciale attributen via XML te verwerken:
<com.example.yourapp.CustomTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
app:customAttribute="someValue" />
waar app:customAttribute wordt verwerkt binnen CustomTextView via obtainStyledAttributes.
Een andere aanpak is het gebruik van Extension Functions in Kotlin om methoden toe te voegen aan de bestaande klasse TextView zonder een subclass te maken, bijvoorbeeld:
fun TextView.setTextWithAnimation(newText: String, duration: Long = 300) {
// Implementatie van animatie bij het wijzigen van tekst
}