Icyrockton
04/03/2022, 4:57 AMIcyrockton
04/03/2022, 4:58 AMclass MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
MainContent()
}
}
}
enum class Mode {
Map,
Navigation
}
@Composable
fun MainContent() {
var mode by remember { mutableStateOf(Mode.Map) }
val list = remember { mutableListOf<Int>() }
val stateList = remember { mutableStateListOf<Int>() }
Log.d(BuildConfig.APPLICATION_ID, "MainContent: Recompose")
Column(modifier = Modifier
.fillMaxSize()
.clickable { if (mode == Mode.Map) mode = Mode.Navigation else mode = Mode.Map }) {
MyHeader(mode = mode)
AndroidView(factory = { context -> LinearLayout(context) }){
Log.d(BuildConfig.APPLICATION_ID, "Map: Recompose ${list}") /* recompose when click */
// Log.d(BuildConfig.APPLICATION_ID, "Map: Recompose ${stateList}") /* recompose not happened */
}
}
}
@Composable
fun MyHeader(mode: Mode) {
Log.d(BuildConfig.APPLICATION_ID, "Header: Recompose")
if (mode == Mode.Map) {
Box(
modifier = Modifier
.size(100.dp)
.background(Color.Red)
)
} else {
Box(
modifier = Modifier
.size(100.dp)
.background(Color.Yellow)
)
}
}