当前位置: 首页 > 知识库问答 >
问题:

如何在jetpack compose中定义不同的屏幕

岑光熙
2023-03-14

我刚刚开始熟悉Jetpack Compose,据我所知,NavHost就像NavHostFragment,它托管不同的组件而不是片段。

我很难理解的是,如果我定义一个带有脚手架和NavHost的屏幕作为其内容,例如:

setContent{
    Scaffold(...){
         NavHost(...){...}
    }
}

这使得底部导航栏和脚手架中定义的所有内容都显示在由导航主机承载的每个可组合组件上。如果我想为不同的屏幕设置不同的浮动操作按钮,该怎么办?我是否必须为这些屏幕启动一个新的活动,并在那里定义一个不同的脚手架?

共有1个答案

嵇丰
2023-03-14

您实际上可以引用navHostController。您可以通过在每次导航时更新变量来跟踪当前屏幕,也可以仅使用navController.GetCurrentBackbackEntry?。获取当前屏幕的目的地。在浮动操作按钮内使用此选项可相应地进行设置

 类似资料:
  • 当Android支持不同的屏幕尺寸(密度)时,通常重点是为每一个可能的屏幕创建不同的布局。即。 null 我为一个xhdpi屏幕设计了一个布局作为参考,并在dimensions.xml中定义了它的维度。现在我想支持它的每一个可能的屏幕大小。我怎么能那样做? 据我所知,我可以使用这个工具为其他屏幕尺寸计算出合适的dimensions.xml并将其添加到我的项目中。在我这种情况下这样做对吗? 另一个问

  • 我试图用一个静态的swagger文件来记录一个API,该文件可以返回一些JSON,其中包含一个类似如下的数组: 我尝试了几种不同的方法来定义规范,使用多态性或显式定义多个示例。这些例子要么最终看起来像: 或者只是: 有没有办法在我的swagger规范中定义一个示例,以便swagger-ui显示的示例有效负载将包含一个数组,该数组包含一个A类型的示例和一个B类型的示例,就像我编写的第一个JSON一样

  • 给定以下带有springfox-swagger2注释的REST方法: null 我是不是漏掉了什么?有没有办法告诉swagger为每个HTTP/OK状态代码呈现两个不同的模型?

  • 我有一个服务,它可以基于头有两种不同的主体参数。 例如。对于路径: > 如果使用 ,则 POST 可以将 作为正文参数。 如果使用了,那么POST应该使用一些不同的主体参数来调用函数并返回不同的响应。 关于如何在OpenAPI(Swagger)中体现这一点,有什么建议吗?

  • 问题内容: 如果单击按钮,我想调出设备的锁定屏幕。我进行了很多搜索,知道可以这样做,但不知道该怎么做。我也找到了很多示例,但是它们都没有调出锁定屏幕(没有错误)(例如this或this)如何使用锁定设备? 问题答案: 我也找到了很多示例,但是它们都没有调出锁定屏幕(没有错误)(例如this或this) 第二个链接应该起作用。它看上去与我的LockMeNow示例应用程序类似,据我所知,该应用程序是有