Middle
Hogyan valósítható meg a felhasználói felület Androidon XML használata nélkül?
sobes.tech MI
Válasz az MI-től
Kódot Kotlin/Java használhatunk a View és ViewGroup programozott létrehozására és hozzáadására.
Példa a TextView létrehozására:
// TextView létrehozása kódban
val textView = TextView(context)
// Tulajdonságok beállítása
textView.text = "Szia, világ!"
textView.textSize = 20f
textView.setTextColor(Color.BLACK)
textView.gravity = Gravity.CENTER
// TextView hozzáadása ViewGroup-hoz (pl. LinearLayout)
val linearLayout = LinearLayout(context)
linearLayout.orientation = LinearLayout.VERTICAL
linearLayout.addView(textView)
// Gyökér layout beállítása
setContentView(linearLayout)
Komplexebb felületek esetén "programozott" layout készítést alkalmazunk, különböző ViewGroup és View elemek kombinálásával.
Előnyök:
- Dinamikus UI létrehozás adat vagy logika alapján.
- Finomabb kontroll a komponensek felett.
- Elméletileg gyorsabb lehet XML-parsing nélkül.
Hátrányok:
- A kód kevésbé olvasható és bonyolultabb lesz összetettebb layoutok esetén.
- Nehéz vizualizálni a layoutot az alkalmazás futtatása nélkül.
- Nincs olyan kényelmes előnézeti eszköz, mint az XML-ben.
Modern megközelítésekben, mint például a Kotlin-t használó Jetpack Compose, a UI teljesen deklaratív módon van leírva a kódban, helyettesítve az XML-t.
Példa Jetpack Compose-ban:
// @Composable függvényben definiáljuk az UI-t
@Composable
fun Greeting(name: String) {
Text(text = "Szia, $name!")
}
// Ezt a függvényt használjuk az Activity-ben
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
Greeting("Világ")
}
}
}