É possível exibir um espaço reservado no painel de detalhes de um ListDetailPaneScaffold
quando ainda nenhum item da lista foi selecionado? Estou exibindo uma rota em um mapa quando um item é selecionado, e seria preferível exibir um mapa vazio no painel de detalhes antes que qualquer item fosse selecionado. Exibir um espaço branco vazio não parece bom. Não consigo encontrar como fazer isso nos documentos.
ListDetailPaneScaffold(
modifier = Modifier.fillMaxSize(),
directive = navigator.scaffoldDirective,
value = navigator.scaffoldValue,
listPane = {
AnimatedPane(modifier = Modifier.fillMaxWidth(0.1f)) {
LinesList(
lines = uiState.lines,
selectedIndex = uiState.lines.indexOf(uiState.selectedLine),
onItemClick = { index ->
// Navigate to the detail pane with the passed item
navigator.navigateTo(ListDetailPaneScaffoldRole.Detail, index)
},
)
}
},
detailPane = {
AnimatedPane {
// Show the detail pane content if selected item is available
navigator.currentDestination?.content?.let { index ->
val selectedLine = uiState.lines[index]
vm.selectLine(selectedLine)
Map(selectedItem = uiState.selectedLine)
}
}
},
)
Você já distingue corretamente entre uma entrada carregada e o estado não selecionado aplicando o conteúdo de detalhes somente quando
navigator.currentDestination?.content
não for nulo.Você só precisa adicionar seu espaço reservado caso ele seja nulo: