1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/tiamosu-FlyNavigation

Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

FlyNavigation

allprojects {
    repositories {
        google()
        mavenCentral()

        //或者 sonatype
        maven { url "https://s01.oss.sonatype.org/content/groups/public" }
        maven { url "https://s01.oss.sonatype.org/content/repositories/releases" }
    }
}

fly-navigation(必需)

implementation 'com.gitee.tiamosu:fly-navigation:1.7.1'

fly-databinding(可选)

implementation 'com.gitee.tiamosu:fly-databinding:1.7.1'

如何使用

fly-navigation 模块

1、继承

abstract class BaseActivity : FlySupportActivity() 
abstract class BaseFragment : FlySupportFragment() 

2、Fragment特性

生命周期调用顺序:onActivityCreated() -> onResume() -> onFlySupportVisible() -> onFlyLazyInitView() -> onPause() -> onFlySupportInvisible()

A、对用户可见
override fun onFlySupportVisible() {
    super.onFlySupportVisible()
    Log.e(fragmentTag, "onFlySupportVisible")
}
B、对用户不可见
override fun onFlySupportInvisible() {
    super.onFlySupportInvisible()
    Log.e(fragmentTag, "onFlySupportInvisible")
}
C、Fragment懒加载

该方法会在页面可见并且转场动画结束后调用,保证Fragment动画的流畅。

 override fun onFlyLazyInitView() {
    super.onFlyLazyInitView()
    Log.e(fragmentTag, "onFlyLazyInitView")
}

//备用,于 onFlyLazyInitView 之后
override fun onFlyLazyInitView2() {
    super.onFlyLazyInitView2()
    Log.e(fragmentTag, "onFlyLazyInitView2")
}
D、Fragment对于Back键监听
 override fun onBackPressedSupport(): Boolean {
   //do something
   return true
}

3、扩展

4、依赖库

androidx.appcompat:appcompat:1.6.1
androidx.core:core-ktx:1.10.1
androidx.fragment:fragment:1.6.1
androidx.navigation:navigation-runtime:2.6.0
androidx.lifecycle:lifecycle-runtime:2.6.2
androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.2
androidx.lifecycle:lifecycle-livedata-ktx:2.6.2

fly-databinding 模块

1、继承

abstract class BaseActivity : FlyDataBindingActivity() 
abstract class BaseFragment : FlyDataBindingFragment() 

2、获取DataBinding

A、通过 by lazyDataBinding() 懒加载获取

private val dataBinding: MyDataBinding by lazyDataBinding()

B、通过 View.toDataBinding 进行获取

val dataBinding: MyViewDataBinding = view.toDataBinding()

Thanks to

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Основываясь на интеграции Jetpack Navigation, мы предоставляем качественный опыт навигации. Развернуть Свернуть
Apache-2.0
Отмена

Обновления (29)

все

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/tiamosu-FlyNavigation.git
git@api.gitlife.ru:oschina-mirror/tiamosu-FlyNavigation.git
oschina-mirror
tiamosu-FlyNavigation
tiamosu-FlyNavigation
master