问题标签 [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 compose 元素出现在 android 的键盘顶部?
在 XML 中让按钮粘在屏幕底部并在弹出时粘在键盘上非常简单,我们可以做这样的事情
我们将如何在 Jetpack compose 中复制它?
android - Jetpack Compose - 导航 - 脚手架 + NavHost 不工作
所以我正在尝试使用 Jetpack Compose 创建一个应用程序。我有一个屏幕功能,其中包含一个没有顶部应用栏的脚手架、一个用于导航的底部栏和一个设置在底部栏中的浮动操作按钮。这一切都很好。
但是,当我将 NavHost 添加到脚手架的内容时,整个事情就停止了工作。如果没有 NavHost,这一切都可以正常工作,而只是内容是屏幕的可组合功能。我尝试过为 NavHost 使用不同数量的可组合位置,不同的填充值都无济于事。
代码:
NavHost 的外观。该图像中的框是无法绘制的 BottomBar,因为可以单击每个框,这会将我带到 BottomBar、BottomNavigationItem、Icon 等。任何人都知道这里发生了什么,我能做些什么来解决它?谢谢
编辑:我想到的一件事是将 fun BottomBar -> BottomNavigationItem 中的“选定”布尔值更改为始终为真,只是为了查看空值是否影响它,但这并没有改变任何东西。
android-jetpack-compose - Jetpack Compose - 阻止重点元素窃取背压?
我有一些元素集中在底部工作表中。我想在按下系统后退按钮时折叠底部工作表,这很容易:
问题是,如果一个元素集中在底部工作表中,则只有在按下后退按钮两次后才会触发后退处理程序的逻辑:一次是从元素(轮廓文本字段)中移除焦点,再一次是触发折叠。
我已经尝试在LocalFocusManager.current
按下返回时使用组合清除焦点,但是在元素已经失去焦点之前不会触发返回逻辑。
我可以清楚地关注折叠,所以我想真正的问题是当工作表 1)可见并且 2)有一个子元素聚焦时,必须按下两次。
有没有办法阻止重点元素取代我的背后逻辑?
android - 当列表项在撰写中可拖动时,如何通过拖动打开导航抽屉?
所以我正在使用 Jetpack Compose 重写应用程序的 UI。我已经使用常规的 Scaffold 函数实现了一个导航抽屉。开箱即用,这提供了两种打开抽屉的方法:按导航图标或向屏幕末尾拖动。有问题的屏幕是列表项的 LazyColumn。
我稍后在这些列表项上实现了 SwipeToDismiss 模式。滑动关闭工作正常,但不再可能拖动任何地方打开导航抽屉。
在旧的基于视图的系统中,导航抽屉将保留一个小宽度,您可以在其中始终拖动以打开抽屉 - 无论子项是否支持拖动。我不确定如何使用 Compose 实现相同的目标。似乎应该是导航抽屉的工作来处理这个 - 而不是它里面的屏幕。
带有导航抽屉的屏幕:
并滑动以关闭项目(显示在 LazyColumn 内)
android - 如何在框内渲染 Activity/Fragment Activity [Jetpack Compose]
我正在将我的 Android 移动应用程序转换为使用 Jetpack Compose。目前,我将活动作为 Intent 开始并且它可以工作,但是如果我这样做,我会失去导航:
将这个 ExternalClass (java) 渲染到 Jetpack Compose 中的替代方法是什么?
android - Jetpack Compose Navigation:PopUpTo Screen 来自具有相同路线但参数除外的屏幕
导航撰写版2.4.0-alpha06
我有一个导航抽屉使用Scaffold
,部分项目是由 ViewModel 动态生成的。
示例项目是
- 家
- 一种
- 乙
- C ...
- 设置
其中 A、B、C、... 都共享同一个Screen
被调用Category
的 ,只是传递了不同的参数(例如 Category/A、Category/B)。
在我的里面Scaffold
这段代码运行得很好,除了当我访问主屏幕时,我想清除所有 backstack 到 Home 不包括在内。
我试过添加NavOptionsBuilder
但是,这不起作用,因为currentScreen.name
会给出类似的东西,Category/{title}
并且 popUpTo 只会尝试从后台堆栈中查找完全匹配的内容,因此它不会弹出任何内容。
有没有真正的撰写导航方法来解决这个问题?或者我应该将最后一个“标题”保存在 ViewModel 中的某个地方并使用它?
来自 Google 的本教程具有类似的结构,但它只是堆叠屏幕,因此从屏幕 A -> B -> A 返回并单击返回只会返回 B -> A,这对我来说不是理想的行为。
先感谢您。