1.列出项目
我正在开发一个使用导航抽屉和导航组件的应用程序,我面临着两个问题:
我把每个工具栏的标题设置在它应该在的地方,但是每次我改变片段的时候,在工具栏中,有一瞬间,我可以从片段中看到以前的名称,这就是片段名称本身。所以,它很快从MySpecificFragment变成MyFragmentName,我希望它不要发生。我甚至把标题设置在onCreateView或onViewCreated上。这无关紧要,仍然在发生。我如何决定片段的后退按钮的方向?我想创建一个后退按钮箭头的标准位置,总是相同的。但它只是回到前一个片段(这不是一个真实的的问题,但我想改善它的行为)抱歉缺乏代码,我不知道我应该显示什么,因为我违背了标准的android行为。
附言:使用android studio和Kotlin
1条答案
按热度按时间rekjcdws1#
关于第一个问题,避免在工具栏中短暂显示上一个片段名称的一种方法是在父Activity中设置工具栏标题,然后从片段的
onResume()
方法更新它。这可以确保在将片段推送到回栈后恢复时正确设置工具栏标题。在您的活动中:
在你的片段中:
关于第二个问题,您可以使用自定义
NavController.OnDestinationChangedListener
自定义后退按钮行为。在侦听器中,您可以根据当前和以前的目标设置后退按钮图标及其行为。以下是示例代码片段:在这里,您可以通过设置
setDisplayHomeAsUpEnabled
、setHomeAsUpIndicator
和setHomeActionContentDescription
,根据当前和以前的目的地调整后退按钮图标和行为。