小编J. *_*Doe的帖子

伴奏寻呼机 animateScrollToPage 无法正确滚动到下一页

使用accompanist-pagerversion 0.25.1animateScrollToPage()似乎并没有一路滚动以使下一页完全可见,上一页仍然显示。不过,非动画版本scrollToPage()似乎运行良好。我是否缺少一些额外的参数?

@ExperimentalPagerApi
@Composable
fun MyPager() {
    val pagerState = rememberPagerState()
    HorizontalPager(
        count = 10,
        state = pagerState
    ) { pagerIndex ->
        Box(
            modifier = Modifier
                .fillMaxWidth()
                .height(150.dp)
                .background(if (pagerIndex.mod(2) == 0) Color.Cyan else Color.Red)
        )
    }
    with(pagerState) {
        LaunchedEffect(key1 = currentPage) {
            launch {
                delay(10000)
                animateScrollToPage(
                    page = (currentPage + 1).mod(pageCount)
                )
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

截屏

android android-jetpack-compose jetpack-compose-accompanist

4
推荐指数
1
解决办法
3445
查看次数

如何在Android中只触发一次警报?

当用户登陆某个活动时,我设置了一个警报,在一定时间后触发。如何检查此警报是否已被触发,以便在用户返回此活动时不会再次设置?如果警报已经安排但未触发,我只能防止再次设置警报:

alarmIntent = PendingIntent.getBroadcast(context, requestCode, intent, PendingIntent.FLAG_NO_CREATE);
    if (alarmIntent != null) {
        // Alarm is already set
        return;
    }
    alarmIntent = PendingIntent.getBroadcast(context, requestCode, intent, 0);
Run Code Online (Sandbox Code Playgroud)

但是如果它已经被触发,这不起作用,因为之后警报将被删除,因此alarmIntent将被删除null

android alarmmanager android-pendingintent

2
推荐指数
1
解决办法
1923
查看次数