我有一些关于android kotlin jetpack的问题

1sbrub3j  于 2021-07-06  发布在  Java
关注(0)|答案(0)|浏览(454)

它可以与java互操作吗?
我的意思是,我可以用java代码来实现逻辑,用kotlin来实现ui吗?
国家管理
注意以下代码:

  1. package com.example.myapplication
  2. import android.os.Bundle
  3. import android.text.Layout
  4. import androidx.appcompat.app.AppCompatActivity
  5. import androidx.compose.foundation.Text
  6. import androidx.compose.foundation.layout.Column
  7. import androidx.compose.material.Button
  8. import androidx.compose.material.MaterialTheme
  9. import androidx.compose.material.Surface
  10. import androidx.compose.material.TopAppBar
  11. import androidx.compose.runtime.Composable
  12. import androidx.compose.runtime.MutableState
  13. import androidx.compose.runtime.state
  14. import androidx.compose.ui.Alignment
  15. import androidx.compose.ui.graphics.Color
  16. import androidx.compose.ui.platform.setContent
  17. import androidx.compose.ui.unit.TextUnit
  18. import androidx.ui.tooling.preview.Preview
  19. import com.example.myapplication.ui.MyApplicationTheme
  20. class MainActivity : AppCompatActivity() {
  21. override fun onCreate(savedInstanceState: Bundle?) {
  22. super.onCreate(savedInstanceState)
  23. setContent {
  24. MaterialTheme() {
  25. MyApp()
  26. }
  27. }
  28. }
  29. @Preview
  30. @Composable
  31. private fun MyApp() {
  32. setupStateUsingState()
  33. }
  34. @Composable
  35. private fun setupStateUsingState() {
  36. Column {
  37. //Using MutableState in Compose
  38. var counterState: MutableState<Int> = state { 0 }
  39. TopAppBar(
  40. title = { Text(text = "State Management") }
  41. )
  42. Text(
  43. text = "Clicked: ${counterState.value}",color = Color.White,fontSize = TextUnit.Sp(20)//set new value
  44. )
  45. Button(onClick = {
  46. //update value
  47. counterState.value +=1
  48. }) {
  49. Text(text = "Click to Add by +1")
  50. }
  51. }
  52. }
  53. }

单击“增量”按钮时,整个屏幕将重新渲染还是仅使用可变值的元素将重新渲染(它的工作原理和Flutter的一样吗 setState 功能?)

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题