Middle
Kā īstenot lietotāja saskarni Android bez XML?
sobes.tech AI
Atbilde no AI
Mēs varam izmantot Kotlin/Java kodu, lai programmatiski izveidotu un pievienotu View un ViewGroup.
Piemērs, kā izveidot TextView:
// TextView izveide ar kodu
val textView = TextView(context)
// Iestatīt īpašības
textView.text = "Sveiks, pasaule!"
textView.textSize = 20f
textView.setTextColor(Color.BLACK)
textView.gravity = Gravity.CENTER
// Pievienot TextView ViewGroup (piemēram, LinearLayout)
val linearLayout = LinearLayout(context)
linearLayout.orientation = LinearLayout.VERTICAL
linearLayout.addView(textView)
// Iestatīt kā galveno Layout
setContentView(linearLayout)
Lai veidotu sarežģītākas saskarnes, tiek izmantota "programmatiska" izkārtojuma veidošana, apvienojot dažādus ViewGroup un View elementus.
Priekšrocības:
- Dinamiski veidot UI, balstoties uz datiem vai loģiku.
- Precīzāka kontrole pār komponentu veidošanu.
- Teorētiski var būt nedaudz ātrāk, jo nav XML parsēšanas.
Trūkumi:
- Kods kļūst mazāk lasāms un sarežģītāks lielākiem izkārtojumiem.
- Grūti vizualizēt izkārtojumu bez lietotnes palaišanas.
- Trūkst ērtu priekšskatījuma rīku, kā tas ir XML.
Mūsdienu pieejās, piemēram, Jetpack Compose (kas izmanto Kotlin), UI veidošana ir pilnībā deklaratīva un tiek rakstīta kodā, aizstājot XML.
Šeit ir piemērs Jetpack Compose:
// @Composable funkcijā definējam UI
@Composable
fun Greeting(name: String) {
Text(text = "Sveiks, $name!")
}
// Izmantojam šo funkciju aktivitātē
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
Greeting("Pasaule")
}
}
}