小编Ast*_*tro的帖子

键盘与 ModalBottomSheet 上的 TextField 重叠(Jetpack compose)

设备的键盘与具有文本字段的 ModalBottomSheet 重叠,我已经android:windowSoftInputMode="adjustResize"在清单文件中设置并使用了imePadding底部工作表内容。

到目前为止,这是我的代码:

主要活动
@AndroidEntryPoint
class MainActivity : ComponentActivity() {
    @OptIn(ExperimentalMaterial3Api::class)
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            val loadProfileModalBottomSheetState = rememberModalBottomSheetState()
            val saveProfileModalBottomSheetState = rememberModalBottomSheetState()
            val scope = rememberCoroutineScope()
            val navController = rememberNavController()
            EqualizerTheme {
                Scaffold(
                    modifier = Modifier.fillMaxSize(),
                    topBar = {...}
                ) { paddingValues ->
                    MainNavGraph(navController = navController, paddingValues = paddingValues)
                    if (loadProfileModalBottomSheetState.isVisible) {
                        LoadProfilesBottomSheet(
                            sheetState = loadProfileModalBottomSheetState,
                            onHide = { scope.launch { loadProfileModalBottomSheetState.hide() } }
                        )
                    }
                    if (saveProfileModalBottomSheetState.isVisible){
                        SaveProfileBottomSheet(
                            sheetState …
Run Code Online (Sandbox Code Playgroud)

uikeyboard bottom-sheet android-jetpack android-jetpack-compose

6
推荐指数
0
解决办法
1667
查看次数

如何在 compose 中使用惰性列表布局优化 AndroidView 可组合项

我遇到两个问题,滚动LazyColumnVerticalPager填充AndroidView整个屏幕,因为子项目滞后于屏幕,滚动行为持续几毫秒以及重叠项目。在我的代码中,我还尝试用a替换以检查问题是否出在AndroidView其本身。我似乎无法准确地找到问题的根源,也许是因为它本身或它的实现,或者可能是因为它填满了整个屏幕?PlayerViewPlayerViewTextViewPlayerViewAndroidViewVerticalPager

视屏

@OptIn(ExperimentalPagerApi::class)
@Composable
fun VideoScreen() {
    val pagerState = rememberPagerState()
    Box {
        VerticalPager(
            count = videos.size,
            state = pagerState,
            horizontalAlignment = Alignment.CenterHorizontally,
            itemSpacing = 10.dp
        ) { index ->

            VideoPlayer(
                vid = videos[index],
                shouldPlay = false
            )
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

视频播放器

@Composable
fun VideoPlayer(
    vid: Video,
    shouldPlay: Boolean
) {
    val exoPlayer = rememberExoPlayerWithLifecycle(vid.url)
    val playerView = rememberPlayerView(exoPlayer)

        AndroidView(
            factory = { playerView },
            modifier …
Run Code Online (Sandbox Code Playgroud)

android pager exoplayer lazycolumn jetpack-compose-accompanist

5
推荐指数
1
解决办法
1274
查看次数