问题标签 [android-jetpack-compose-scaffold]
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.
android - 什么是脚手架?喷气背包组成
我想知道jetpack中的Scaffold是什么,并带有BottomAppBar示例,任何人都可以帮助我
Scaffold
android - java.lang.NoSuchFieldError:没有 Landroidx/compose/foundation/layout/BoxScope$Companion 类型的字段伴侣;
我第一次使用 Jetpack Compose,但出现此错误。我还没有弄清楚问题到底出在哪里,但我正在使用单活动架构。如果需要更多信息,请告诉我。根据错误,问题似乎来自脚手架。
android - 如何在jetpack compose中保存可扩展卡片组合状态和滚动位置
我正在使用自定义可扩展卡,
我正在将此可组合用于包含数据列表及其工作的屏幕之一。但是,当我切换到其他屏幕并返回可扩展卡片屏幕时,卡片状态和滚动位置会发生变化。如何保存可扩展的卡片屏幕状态和滚动位置,使其不会改变。
android - 如何使用 Android Jetpack Compose 实现 BottomAppBar 和 BottomDrawer 模式?
我正在使用 Jetpack Compose 构建 Android 应用程序。尝试使用 BottomDrawer 模式实现 BottomAppBar 时卡住了。
底部导航抽屉是固定在屏幕底部而不是左边缘或右边缘的模式抽屉。它们仅与底部应用栏一起使用。这些抽屉在点击底部应用程序栏中的导航菜单图标时打开。
material.io上的说明,以及视频的直接链接。
我试过使用 Scaffold,但它只支持侧抽屉。附加到 Scaffold 内容的 BottomDrawer 显示在内容区域,并且 BottomDrawer 打开时不覆盖 BottomAppBar。在 Scaffold 函数之后移动 BottomDrawer 也无济于事:BottomAppBar 被一些不可见的块覆盖并阻止单击按钮。
我也尝试过使用 BottomSheetScaffold,但它没有 BottomAppBar 插槽。
如果 Scaffold 不支持这种模式,那么实现它的正确方法是什么?是否可以扩展 Scaffold 组件?我担心从头开始的不正确实现可能会在以后尝试实现导航和小吃栏时产生问题。
android-jetpack-compose - 键盘打开时Jetpack-compose Scaffold滚动bottomBar
我正在开发一个小型 jetpack-compose 演示聊天应用程序。所以我需要一个底部的栏,带有一个 TextField 和一个要发送的按钮,就像在 WhatsApp 中一样......我认为最好使用带有底部栏的 Scaffold。
现在的问题是,当键盘打开时,bottomBar 隐藏在键盘后面。有什么办法吗?
android - Jetpack Compose:允许手势通过 Scaffold
我正在使用 Scaffold 作为主屏幕构建应用程序。我有一个要求脚手架在地图上。(为此,我正在使用 Google 地图。我正在使用 Compose 示例应用程序中的“Crane”应用程序中的实现。)这样做的原因是,即使更改了选项卡,地图也将保持不变。
我已经成功地将地图和脚手架添加到顶部,但我遇到了问题。当脚手架在地图上时,我无法拖动地图。
我知道问题不在于地图,因为如果我移除脚手架,那么我可以拖动地图。我也知道问题不在于脚手架捕捉到点击,因为我在脚手架下添加了一个可点击的框并且能够检测到点击它。
我怀疑也许 Scaffold 的抽屉手势检测正在消耗这些手势,但我设置drawerGesturesEnabled
为 false 并且仍然没有运气。
有谁知道为什么我不能通过 Scaffold 拖动我的 Google MapView?或者对我如何解决它有什么建议?
android - 如何使用不同的屏幕更改脚手架浮动操作按钮的操作。喷气背包组成
如何根据当前屏幕使用 Scaffold 更改 FAB 操作(onClick{})。
例如,使用 ScreenOne() 我想将一些实体添加到数据库中,而使用 ScreenTwo() 我想保存已编辑的实体。所有这一切都使用 Scaffold 共享的相同 FAB。
更新:刚刚明白我还需要提到我还需要 FAB 知道一些数据才能操作。例如,我想通过单击 FAB 将某些实体保存到数据库,因此 FAB 需要了解该实体。
示例:我正在单击列表中的某个项目。它用一些实体打开一些导航方向。我正在修改此实体并单击 FAB 以保存已编辑的实体。