对于Android中,Fragment快速且无隐患的Kotlin拓展方法封装(万金油版)

1.主要用到了以下功能:

添加Fragment


替换Fragment

2.Fragment的无损添加

//TODO 新加载一个Fragment。
fun AppCompatActivity.ext_addNewFragment(new_add_fragment: Fragment, container_view_id: Int = R.id.forget_password_fragment,/* hide_fragment_list: List<Fragment> = listOf(),*/ need_back_from_stack: Boolean = false) {

    val transaction = this.supportFragmentManager.beginTransaction()

    transaction?.add(container_view_id, new_add_fragment)       //新加
    transaction?.show(new_add_fragment)                         //显示

//    hide_fragment_list.forEach {
//        transaction.hide(it)                                    //隐藏其它
//    }
    if (need_back_from_stack) {
        transaction?.addToBackStack(null)                   //加入回退栈。                   //TODO 并且,如果按照默认模式来的话,返回键,就会从栈顶一直清空到栈底的。(默认的【返回操作】)。(当然,你也可以自己在onBackPress里面玩些花样)
    }
    transaction?.commit()//最终提交。
}

3.Fragment的无损极快替换

fun AppCompatActivity.ext_showOldFragment(show_old_fragment: Fragment, hide_fragment_list: List<Fragment> = listOf(), fragment_transaction_anim: Int = FragmentTransaction.TRANSIT_FRAGMENT_FADE) {


    val transaction = this.supportFragmentManager.beginTransaction()

    transaction.setTransition(fragment_transaction_anim)            //此处,可以设置转换动画。

    hide_fragment_list.forEach {
        transaction.hide(it)                                                                        //隐藏
    }
    transaction.show(show_old_fragment)                                                             //显示

    transaction.commit()                                                                            //提交

}

4.以上两点,都是可以直接拿去,在代码中开始用的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值