From f0c861b6ee01b2740104db9c316d2d72078defaa Mon Sep 17 00:00:00 2001 From: wen Date: Fri, 26 Feb 2021 11:59:04 +0800 Subject: [PATCH] update readme --- README.md | 12 ++++++------ navigation-fragment/build.gradle | 6 +++--- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 5acf746..5d34992 100644 --- a/README.md +++ b/README.md @@ -4,8 +4,9 @@ 因为 google 的 navigation 使用 `FragmenManager.replace()` 来切换 fragment 导致上一个 fragment 会销毁,返回时重走 `onCreateView` 等生命周期,用户体验极差。 -* 使用 add fragment 代替 replace,并且在转场动画结束时,对上个页面进行 hide,避免多个 Fragment 的过度绘制 -* 优化了转场动画,内部自定义实现了 fragment 的转场动画。Fragment 的原生转场动画有些许不好用。drakeet 大佬也提到过部分场景 Fragment 的转场会卡顿。 +* 使用 `add/hide fragment` 代替 `replace`,并且在转场动画结束时,对上个页面进行 `hide`,避免多个 `Fragment` 的过度绘制 +* 优化了转场动画,内部使用 `IdeHandler` 自定义实现了 `fragment` 的转场动画。Fragment 的原生转场动画有些许不好用。drakeet 大佬也提到过部分场景 Fragment 的转场会卡顿。 +* 内部使用 `setMaxLifecycle` 对`hide` 状态的 Fragment 重置生命周期为 `onPause` ## 使用方法 @@ -13,9 +14,7 @@ ``` allprojects { repositories { - maven { - url 'https://dl.bintray.com/wenchieh/maven' - } + maven { url 'https://jitpack.io' } } } ``` @@ -23,7 +22,8 @@ allprojects { ### 2.在项目的 build.gradle 添加依赖 ``` // 将谷歌原生的 "androidx.navigation:navigation-fragment:navigation" 注释掉换成下面的依赖 -implementation 'com.lwjlol:navigation-fragment:${latestVersion}' +implementation 'com.github.lwj1994:navigation-keep-state-fragment:${latestVersion}' + // 如果依赖了 navigation-fragment-ktx 使用的时候需要把谷歌的 `androidx.navigation.fragment` 包名的代码剔除。 implementation("androidx.navigation:navigation-fragment-ktx:${Versions.navigation}"){ diff --git a/navigation-fragment/build.gradle b/navigation-fragment/build.gradle index 940c5f7..2f968b8 100644 --- a/navigation-fragment/build.gradle +++ b/navigation-fragment/build.gradle @@ -41,10 +41,10 @@ dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" implementation 'androidx.appcompat:appcompat:1.0.2' - implementation 'androidx.core:core-ktx:1.0.2' + implementation 'androidx.core:core-ktx:1.3.2' - implementation "androidx.navigation:navigation-ui-ktx:2.3.2" - implementation "androidx.fragment:fragment-ktx:1.3.0-rc01" + implementation "androidx.navigation:navigation-ui-ktx:2.3.3" + implementation "androidx.fragment:fragment-ktx:1.2.5" testImplementation 'junit:junit:4.12' androidTestImplementation 'androidx.test:runner:1.2.0'