Причина: ComposeWebView загружается медленно; страница будет ждать загрузки перед отображением всей страницы.
Мое ожидание: когда страница откроется, все элементы управления за пределами ComposeWebView сначала будут отображаться, а затем будут отображаться отдельно после завершения загрузки ComposeWebView.
Код: Выделить всё
@Composable
fun HomeScreen(navToTest: () -> Unit, navToList: () -> Unit, viewModel: HomeViewModel = hiltViewModel()) {
val scrollBehavior = TopAppBarDefaults.pinnedScrollBehavior()
Scaffold(
modifier = Modifier.nestedScroll(scrollBehavior.nestedScrollConnection),
topBar = {
BackTopAppBar(title = stringResource(R.string.module_main_app_name), navigationBack = {}, scrollBehavior = scrollBehavior)
}
) { contentPadding ->
Column(
modifier = Modifier
.fillMaxSize()
.verticalScroll(rememberScrollState())
.padding(contentPadding)
) {
Row(
modifier = Modifier
.fillMaxWidth()
.wrapContentHeight()
.horizontalScroll(rememberScrollState()),
verticalAlignment = Alignment.CenterVertically,
) {
Button(
onClick = {
viewModel.requestData()
},
contentPadding = PaddingValues(horizontal = 10.dp),
modifier = Modifier.defaultMinSize(1.dp, 1.dp)
) {
Text(text = "req")
}
Button(onClick = navToList) {
Text(text = "skip list")
}
Button(onClick = navToTest) {
Text(text = "skip Test")
}
}
val imgAddress = "https://pic-go-bed.oss-cn-beijing.aliyuncs.com/img/20220316151929.png"
ImageX(
model = imgAddress,
modifier = Modifier
.fillMaxWidth()
.height(120.dp)
)
ComposeWebView(
modifier = Modifier.fillMaxSize(),
url = "https://github.com/ocnyang"
) {
this.settings.apply {
javaScriptEnabled = true
javaScriptCanOpenWindowsAutomatically = true
}
}
}
}
}
- Например, я попробовал поместить ComposeWebView в отдельную функцию @Compose;
- Например, я попробовал заменить существующий столбец на LazyColumn.
Подробнее здесь: https://stackoverflow.com/questions/797 ... ering-of-a
Мобильная версия