fragment状态保存问题在使用jetpack的navigation组件过程中遇到的一个问题就是它内部使用replace方式切换的fragment,这样会导致fragment生命周期重走。这样就不会保留之前的页面状态了,这就有点不友好了。查了一下大家使用的解决方案,主要有两种使用hide/show方式取代replace方式继续使用replace方式,想办法保存页面状态经过对比这两种方案发现,navigation原生方式更合理。因为hide/show方案对内存不友好的弊端很难消除,且项目越大,问题越明显。使用原生方式,就面临了另一个问题,如何保存页面状态?Navigation设计初衷就是UI与
fragment状态保存问题在使用jetpack的navigation组件过程中遇到的一个问题就是它内部使用replace方式切换的fragment,这样会导致fragment生命周期重走。这样就不会保留之前的页面状态了,这就有点不友好了。查了一下大家使用的解决方案,主要有两种使用hide/show方式取代replace方式继续使用replace方式,想办法保存页面状态经过对比这两种方案发现,navigation原生方式更合理。因为hide/show方案对内存不友好的弊端很难消除,且项目越大,问题越明显。使用原生方式,就面临了另一个问题,如何保存页面状态?Navigation设计初衷就是UI与
880481ecbba9baf5d97b4d02ce42b5b4.jpeg掘金迁移地址在JetpackCompose中导航可以使用Jetpack中的Navigation数据传输组件进行数据传输。先决条件在app的build.gradle中引入Navigation依赖即可,如下:dependencies{//导航依赖库implementation"androidx.navigation:navigation-compose:2.4.2"//Gson解析,后边用到implementation'com.google.code.gson:gson:2.9.0'}备注:上述导航组件是没有动画的,如果需要
880481ecbba9baf5d97b4d02ce42b5b4.jpeg掘金迁移地址在JetpackCompose中导航可以使用Jetpack中的Navigation数据传输组件进行数据传输。先决条件在app的build.gradle中引入Navigation依赖即可,如下:dependencies{//导航依赖库implementation"androidx.navigation:navigation-compose:2.4.2"//Gson解析,后边用到implementation'com.google.code.gson:gson:2.9.0'}备注:上述导航组件是没有动画的,如果需要
Togglev-navigation-drawer'sexpand-on-hovernotresizingcontent我想为我的v-navigation-drawer实现一个"pin"功能,即在按下按钮时在迷你版本和普通版本之间切换,但保留展开时悬停功能。我试过这样:12v-navigation-drawerapp:expand-on-hover="!navBarPinned"permanentclippedwidth="300">...我的按钮会像这样切换它:123v-btnicon@click="navBarPinned=!navBarPinned"> v-icon>mdi-pinv-
Togglev-navigation-drawer'sexpand-on-hovernotresizingcontent我想为我的v-navigation-drawer实现一个"pin"功能,即在按下按钮时在迷你版本和普通版本之间切换,但保留展开时悬停功能。我试过这样:12v-navigation-drawerapp:expand-on-hover="!navBarPinned"permanentclippedwidth="300">...我的按钮会像这样切换它:123v-btnicon@click="navBarPinned=!navBarPinned"> v-icon>mdi-pinv-