如何在 Jetpack Compose 中创建垂直无限轮播?

2024-03-28

我正在尝试构建一个可滚动列(最好是 LazyColumn),它将在滚动到末尾后再次开始重新显示第一个项目。例如,看看这个闹钟,它将从 00..59 开始循环,然后再次从 0 开始平滑滚动。

我尝试过一个普通的 LazyColumn,它会显示 58,59,00..59,00,01,并在完成滚动(达到 59)后快速启动,但它看起来“便宜”。


@Composable
fun CircularList(
    items: List<String>,
    modifier: Modifier = Modifier,
    isEndless: Boolean = false,
    onItemClick: (String) -> Unit
) {
    val listState = rememberLazyListState(
        if (isEndless) Int.MAX_VALUE / 2 else 0
    )

    LazyColumn(
        state = listState,
        modifier = modifier
    ) {
        items(
            count = if (isEndless) Int.MAX_VALUE else items.size,
            itemContent = {
                val index = it % items.size
                Text(text = items[index])    // item composable
            }
        )
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Jetpack Compose 中创建垂直无限轮播? 的相关文章

  • 反转 ArrayList 最简单的方法是什么?

    反转这个ArrayList的最简单方法是什么 ArrayList
  • 无法解析符号“AndroidJUnit4”

    显然我需要正确的导入语句来解决这个问题 根据文档用于AndroidJUnit4 http developer android com reference android support test runner AndroidJUnit4 h
  • 为 DownloadManager 的 BroadcastReceiver 设置附加功能 [重复]

    这个问题在这里已经有答案了 有一种方法可以添加额外内容DownloadManager已登记行动意图DownloadManager ACTION DOWNLOAD COMPLETE 例如 接收一个在意图中设置为额外的布尔值 这就是我创建请求的
  • Android:是否有一种简单的方法可以为视图创建圆角,而不必每次都创建单独的可绘制对象?

    我在互联网上浏览了各种解决方案 这些解决方案使我们能够创建带有圆角的视图 其中大多数需要使用创建自定义视图 或者每次我们需要圆角视图时都需要在 xml 或九个补丁中创建可绘制对象 问题是 当我实现此类视图时 我需要为每个此类视图创建一个可绘
  • 按大小、日期、名称等在回收器视图中排序并记住选择

    我正在制作图库应用程序 我想为其添加排序功能 我可以使用以下命令在运行时对项目进行排序Comparator但问题是 每当我退出应用程序时 列表都会再次从数据库中出来 并且所有列表都未排序 我想在我的应用程序中提供按日期 大小 名称等排序的选
  • Android TableRow 垂直拉伸以填充屏幕

    我正在尝试创建一个电话拨号器视图 使用 TableLayout 在 3x4 网格中创建 12 个按钮 我希望行垂直拉伸以平等地使用所有可用空间 但似乎 fill parent 在 TableRows 上不起作用 我不想使用 setMinim
  • 通过 id 查找 视图?

    如果视图是 id 是否可以通过 id 查找视图
  • 如何创建 Google Play 音乐的直接链接?

    据我所知 应用程序的直接链接是 gt market apps collection
  • FragmentTransaction 动画滑入顶部

    我试图使用 FragmentTransaction setCustomAnimations 实现以下效果 片段A正在显示 将片段 A 替换为片段 B 片段 A 在替换过程中应保持可见 片段 B 应从右侧滑入 片段 B 应滑入片段 A 的顶部
  • 使用 Asp.Net 的 GCM 推送通知

    正如您可能已经看到的 Google 正在迁移其推送通知系统 http developer android com guide google gcm c2dm html http developer android com guide goo
  • 将样式应用于警报对话框

    我决定尝试材质警报dialogs https material io develop android components dialog 在安卓上 我遇到的问题是当我尝试应用某些样式时 检查文档 我发现了这个
  • 在 Android 版 Glide 中离线时加载已获取的图像

    我正在使用 Glide 版本 4 8 0 为了加载图像我这样做 GlideApp with HomePageFragment this load remoteURL diskCacheStrategy DiskCacheStrategy A
  • Android - 如何合并两个视频

    基本上 我正在寻找一种将两个 mp4 视频文件 在 SD 卡上 组合在一起的方法 更像是在第一个视频的末尾附加第二个视频 我进行了很多搜索 但找不到合适的解决方案 好吧 我根本找不到任何解决方案 所以我的问题是 是否有一个库可以组合 并可能
  • ProGuard 与 Android:java.lang.NoSuchMethodError:android.util.Xml.asAttributeSet

    当 ProGuard 被禁用时 我的应用程序运行正常 启用ProGuard后 应用程序将导出为apk并安装到模拟器中 然后当我在模拟器中运行它时 强制关闭 05 10 11 14 10 582 E AndroidRuntime 759 FA
  • Android 在通话期间播放音频文件[重复]

    这个问题在这里已经有答案了 对于我的 Android 应用程序 我想在从应用程序接听电话后播放音频文件 应用程序将发起电话呼叫 一旦接收者接听电话 应用程序应开始播放录制的音频文件 通过在谷歌上进行大量搜索 我发现这对于未root的设备来说
  • Android 中的字符串加密

    我正在使用代码进行加密和加密 它没有给出字符串结果 字节数组未转换为字符串 我几乎尝试了所有方法将字节数组转换为字符 但没有给出结果 public class EncryptionTest extends Activity EditText
  • Android同步onSensorChanged?

    这是我的问题的后续 Android线程可运行性能 https stackoverflow com questions 36395440 android thread runnable performance 我在理解应用程序的同步方法时遇到
  • ActionBar 中的进度条

    我正在使用一个应用程序 它将在应用程序内部加载一个网站 现在我想在操作栏中添加一个进度栏 而无需向上滑动来抑制功能 像那样 我在用Fragment在我的应用程序中 WebviewFragment public class WebviewFr
  • Phonegap - cordova 在 Android 和 iOS 设备上延迟且缓慢

    我刚刚开始使用 zend studio 开始我的第一个 PhoneGap 项目 但是 在我构建并部署它之后 该应用程序非常慢 Android 和 iOS 均可 滚动滞后 如果我按下按钮 转到下一页的速度很慢 有什么办法可以提高它的性能吗 提
  • 从 Android 中的过渡动画中排除 BottomNavigation

    我一直在四处寻找 但找不到有助于解决这个特定问题的答案 我的应用程序有一个自定义滑入 滑出效果 如下所示 Intent intent new Intent getApplicationContext MyActivity class sta

随机推荐

  • 在本地网络中推送通知

    我需要在无法访问 Internet 的本地网络中使用我自己的服务器来实现 Android 和 iOS 的推送通知 更准确地说 我的用户将拥有一个移动应用程序 Android 和 iOS 它将通过无线网络连接到本地服务器 该网络不会有任何 I
  • Josh Smith 的 MVVM 示例中的视图是如何构建的?

    作为 WPF 和 MVVM 的新手 我正在学习Josh Smith 关于 MVVM 模式的文章 http msdn microsoft com en us magazine dd419663 aspx以及随附的示例代码 我可以看到该应用程序
  • AWS-Lambda 可以使用调用 C 的 Python 吗?

    我有一个进行图像比较的 C 库和调用它的 Python 我在 AWS Lambda 功能列表中没有看到 C 或 C 运行时 然而 Python 本身不是调用 C 的吗 我以为翻译其实是C 我们可以在 AWS Lambda 上运行从 Pyth
  • RESTful WCF Web 服务 POST 问题

    我无法将参数传递给 wcf web 服务 我的网络方法 OperationContract WebInvoke Method POST ResponseFormat WebMessageFormat Json UriTemplate pla
  • 有关 SQL Server 中重音不敏感的问题 (Latin1_General_CI_AS)

    我们所有的数据库都是使用默认排序规则安装的 Latin1 General CI AS 我们计划更改排序规则 以允许客户端不区分重音地搜索数据库 问题 不区分重音的数据库有哪些负面影响 如果有的话 不区分重音的数据库是否有任何性能开销 为什么
  • 复选框不显示 Chrome - 在其他浏览器中工作

    我不确定发生了什么事 记住我 左侧应该有一个复选框 底部应该有两个测试复选框 因为我有一辆自行车 我有一辆汽车 它们在 Firefox 中显示 但在 Chrome 中不显示 我相信我有 CSS 问题 但找不到它 有人可以帮忙吗 http w
  • Python ord 函数中的多个字符

    编程初学者在这里 Python 2 7 是否有解决方法可以在 Python 的 ord 函数中使用多个字符 例如 我有一个十六进制字符串 xff x1a 我想要它的十进制值 以便我可以将其与其他十六进制字符串求和 但是 ord 只接受单个十
  • 在C中从键盘获取输入而不用“return”

    在 C Mac OS 中 如何在不按 return 的情况下从键盘获取输入 在带有终端的类 Unix 系统上 我认为 MacOS X 符合要求 那么您需要将终端设置为所谓的 cbreak 模式 重点是terminal保留数据直到按下 ret
  • 尽管导入了类,但未定义类

    我似乎遇到了一个非常令人困惑的错误 尽管导入了包含我的类的 py 文件 Python 仍然坚持认为该类实际上并不存在 testmodule py中的类定义 class Greeter def init self arg1 None self
  • 在我的 android studio 模拟器中元素相互重叠

    我是新来的Android Studio 当我创建应用程序时 所有元素都相互重叠 我不知道如何编辑这段代码 请给我详细的描述 布局编辑器和模拟器结果 布局代码
  • Spark 执行器上的对象缓存

    对于 Spark 专家来说 这是一个很好的问题 我正在处理数据map操作 RDD 在映射器函数中 我需要查找类的对象A用于处理 RDD 中的元素 由于这将在执行器上执行并创建类型的元素A 将被查找 恰好是一个昂贵的操作 我想在每个执行器上预
  • PHP:如何检查 URL 是 Youtube 还是 vimeo

    如何编写一个函数来检查提供的 URL 是 youtube 还是 vimeo 例如 我将这两个 URL 作为字符串存储在数据库中 http vimeo com 24456787 http www youtube com watch v rj1
  • 使用 groupby 和 Mean() 在 Pandas 中保留一个包含分类变量的列

    有没有办法在之后保留分类变量groupby and mean 例如 给定数据框df ratio Metadata A Metadata B treatment 0 54265 937500 B10 1 AB cmpd 01 11 10736
  • 如何在内容可编辑 iframe 内创建非内容可编辑 div?

    我需要将内容可编辑的 iframe 内的某些部分设置为不可编辑 我怎么做 下面的代码在 Chrome 中有效 但在 Firefox 中无效 一切都可以在 Firefox 中编辑 我需要复选框不可编辑 Editable text div di
  • Azure 中虚拟机和应用服务之间的 Vnet

    我不知道如何连接网络应用程序 应用服务 to a 虚拟机在蔚蓝中 我已从 Web 应用程序配置面板创建了 VNet 所有项目都是使用创建的资源管理型号 都在同一个订阅并且至少是Standard定价层 显然 Web 应用程序无法连接到 V2
  • 警告会话 0x0 服务器为空、意外错误、关闭套接字连接并尝试重新连接

    我有两个节点 每个节点上都安装了带有Mesos marathon和zookeeper的docker 这是我在主节点上的 docker compose 文件 version 3 7 services zookeeper image ubunt
  • SQL Server 锁解释

    下面是 SQL Server 2000 支持的锁列表 我对 意图 锁的实际含义有点困惑 我在网上查了一下 答案似乎有点神秘 为了进一步获得我的具体问题的答案 我希望将此问题用作 Wiki 了解每个锁的含义以及在什么情况下将获取该类型的锁 S
  • pandas.groupby 对象上尊重时间的移动平均值

    给定一个以下格式的 pandas 数据框 toy pd DataFrame id 1 2 3 1 2 3 1 2 3 date 2015 05 13 2015 05 13 2015 05 13 2016 02 12 2016 02 12 2
  • 在 JavaFX 上的按钮中加载 SVG 文件

    我在 Inkscape 中创建了一个 SVG 图像 我把它放在与我的班级相同的目录中 有没有办法加载该图像并将其转换为 SVG 路径 这背后的想法是获得该图像getClass getResource image svg toExternal
  • 如何在 Jetpack Compose 中创建垂直无限轮播?

    我正在尝试构建一个可滚动列 最好是 LazyColumn 它将在滚动到末尾后再次开始重新显示第一个项目 例如 看看这个闹钟 它将从 00 59 开始循环 然后再次从 0 开始平滑滚动 我尝试过一个普通的 LazyColumn 它会显示 58