问题标签 [jetpack-compose-accompanist]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
1162 浏览

android - JetPack Compose Pager 的 onPageSelected 回调

我正在使用 Accompanist 的 JetPack Compose Pager,我想知道我如何确切知道我的页面何时显示在屏幕上。就像ViewPager中的 onPageSelected 方法一样。

这是我的代码:

因为目前每个重组都会从 Pager 调用该回调方法。

0 投票
1 回答
516 浏览

android - 由于 Jetpack Compose 的 Accompanist Horizo​​ntalPager 中的 NullPointerException 导致 Android 应用程序崩溃

我在 Android Jetpack Compose 项目中使用 Accompanist Horizo​​ntalPager 来显示来自 Firebase Firestore 的动态变化列表。如果列表最初为空或有项目,它会很好地工作,但是一旦它有一些项目然后变为空,应用程序会因来自 Horizo​​ntalPager 的 NullPointerException 而崩溃。

以下是使用的相关依赖项。

下面是代码片段。

下面是堆栈跟踪。

0 投票
2 回答
1551 浏览

android - 使用伴奏导航动画时如何在 Jetpack Compose 中隐藏底栏

情况

我正在使用Kotlin&编写一个非常简单的应用程序Android Jetpack Compose

我有一个scaffold包含 mynavHost和一个bottomBar. 我可以使用它bottomBar在三个主屏幕之间导航。其中一个主屏幕有一个详细信息屏幕,不应显示bottomBar.


我的代码

到目前为止,这是小菜一碟:


问题

我想在我的屏幕之间进行转换,所以我正在使用伴奏导航动画:只需替换NavHostAnimatedNavHost.

mainScreen到导航时detailScreen有一个奇怪的效果:

  1. bottomBar 隐藏
  2. 主屏幕调整大小:(见底部对齐的文字)
  3. 细节屏幕的动画发生。

这看起来很糟糕,我该如何解决?


解决方案

最佳解决方案如下所示:

  • 主屏幕保持底部栏和淡出。
  • 同时详细页面进入没有底栏。
0 投票
3 回答
652 浏览

android - 使用 Coil Compose 加载本地可绘制对象

我最近从 Accompanist's 迁移ImagePainter到 Coil's,以下是我更新后的相关代码。

现在这些图像不会渲染并且painter.state总是Empty。我的旧版 Accompanist 实现在代码中此时显示了图像。如果我使用painterResource(resId)Compose 的库存,它也可以工作。

painter通过其状态执行 Coil 的 new 我缺少什么?

0 投票
0 回答
545 浏览

android-viewpager - 如何在 Jetpack Compose 中双向滚动

我在 Jetpack compose 中创建了一个相当经典的折叠图像布局,我在屏幕顶部有一个视差滚动的图像,并且在某个点我将工具栏背景从透明更改为 primarySurface。这一切都很好。

我现在想在顶部有一个图像寻呼机而不是单个图像,但垂直滚动消耗了屏幕顶部的所有触摸。我已经尝试添加一个 NestedScrollConnection,但我似乎仍然只能在一个轴上获得 preScroll delta。显然,我什至无法在此区域内添加图标来进行手动寻呼机滚动,而不会消耗点击。一旦我verticalScroll从列中删除 ,我就可以获取寻呼机的水平滚动事件。

我正在使用 Compose 1.0.2 和 Accompanist 0.18 寻呼机和插图库。

这是我想要添加寻呼机的现有代码的要点。如何让寻呼机和垂直滚动都工作?

0 投票
1 回答
287 浏览

android - Google Accompanist FlowLayout 库中断 Compose(无法访问类“InteractionState”)

我有以下 Compose 依赖项,其中$compose_version1.0.0-alpha12 是: 在此处输入图像描述

这很好。但是,在添加依赖项后第二次尝试构建这个项目com.google.accompanist:accompanist-flowlayout:0.19.0时,我在项目的很多地方都看到了这个错误: 在此处输入图像描述 这种情况似乎总是与各种可组合的,它们接受onClick参数Button:BottomNavigationItemDropDownMenuItem. 我的意思是,他们每个人都有一个InteractionState论点onClick

我尝试accompanist-flowlayout了多个版本,最多 15 个,但没有结果。但是我没有尝试使用其他 Compose 依赖项版本,因为我继承了这个项目,并且当我这样做时很多事情都会中断。

我如何解决它?

0 投票
0 回答
61 浏览

android - 如何更改jetpack compose中的状态栏图标颜色?

我正在尝试更改状态栏图标的颜色。这就是我使用 Accompanist 库提供的 System UI Controller 库根据主题处理状态栏颜色的方式

setStatusBarColor()有一个名为 dark 的参数darkIcons,如果我在黑暗模式下设置为 true,则图标会变暗,如果我将其设置为 false,则图标会变为白色。这在灯光模式下不起作用。即使darkIcons设置为,图标颜色也始终为黑色false。基本上,当我处于浅色模式时,我想要白色图标,因为状态栏颜色是较深的颜色,但我也有兴趣将图标的颜色更改为除黑/白之外的自定义颜色。

0 投票
1 回答
203 浏览

android - 无法读取文件 - FileNotFoundException - Android 11、撰写、ActivityResultContracts、READ_EXTERNAL_STORAGE

我正在尝试从外部存储中读取文件/some/path/somefile.txt

在清单中我有<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

当我单击按钮尝试读取ActivityResultContracts.OpenDocument()我选择的文件时

这是我的代码:

0 投票
0 回答
218 浏览

android - 喷气背包伴奏中的 launchPermissionRequest() 什么都不做

在我的应用程序中,我必须请求许可write to external storage才能保存位图以便共享它。现在查看下面的代码,每当我调用它时,都会出现警报对话框,但no permission request appears来自 Android 本身。我在日志中只能看到Let's launch permission request.如何从 Android 适当地显示权限窗口以获取该权限?谢谢你。

0 投票
1 回答
822 浏览

android - Jetpack Compose - 具有最大宽度的项目的 Horizo​​ntalPager 项目间距/填充

使用 Jetpack Compose 和伴奏寻呼机,我正在尝试创建一个HorizontalPagerwhere:

  1. 显示当前项目左侧和右侧的项目边缘
  2. Pager物品有一个最大宽度

例如,我编写了以下代码(为了简单起见,我制作了Text物品,但实际上,我实际上制作了更复杂的Card物品):

我遇到的问题是,当我使项目的最大宽度似乎小于屏幕宽度(请参阅 参考资料MyPager_200dpWidth)时,我再也看不到侧面的项目了。另一方面,使用最大宽度(见)或(见)较大的项目可以让我看到侧面的项目。MyPager_500dpWidthfillMaxWidthMyPager_FillMaxWidth

在我看来,最大宽度较小的项目实际上比最大宽度较大的项目占用了更多的水平空间。这可以显示在预览部分...

预览比较

看看左边的图像 ( MyPager_500dpWidth) and middle (MyPager_FillMaxWidth ) show the next item, while the image on the right (MyPager_200dpWidth`) 是如何占据整个屏幕的?这是将鼠标悬停在项目上以查看骨架框时的另一个比较...

与骨架的预览比较

只是想知道是否有人可以帮助我弄清楚如何解决这个用例。Compose中是否有可能存在错误?