我有一个屏幕上有几个可聚焦的小部件的电视。
每次我必须点击方向键,然后Box01
得到重点。
有人知道如何设置Box01
默认聚焦吗?
我的代码:
@Composable
fun DefaultFocusSample(){
Row(Modifier.padding(100.dp)) {
FocusBox("Box01")
Spacer(modifier = Modifier.padding(10.dp))
FocusBox("Box02")
Spacer(modifier = Modifier.padding(10.dp))
FocusBox("Box03")
Spacer(modifier = Modifier.padding(10.dp))
FocusBox("Box04")
}
}
@Composable
fun FocusBox(text:String){
var color by remember { mutableStateOf(White) }
Box(
Modifier
.onFocusChanged {
color = if (it.isFocused) Green else White }
.focusable()
.border(2.dp,color)
){
Text(text = text,
modifier = Modifier.padding(10.dp))
}
}
1条答案
按热度按时间dgiusagp1#
要手动将焦点设置为focusable,可以使用
FocusRequester
,如下所示:LaunchedEffect
是一个副作用,当可组合的出现时,它只运行一次。