使用accompanist-pagerversion 0.25.1,animateScrollToPage()似乎并没有一路滚动以使下一页完全可见,上一页仍然显示。不过,非动画版本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)
当用户登陆某个活动时,我设置了一个警报,在一定时间后触发。如何检查此警报是否已被触发,以便在用户返回此活动时不会再次设置?如果警报已经安排但未触发,我只能防止再次设置警报:
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