Android kotlin实现底部导航栏

    return fragmentList[position]

}



override fun getCount(): Int {

    return titleList.size

}



//注意!!!这里就是我们自定义的布局tab_item

fun getCustomView(position: Int): View {

    val view = LayoutInflater.from(context).inflate(R.layout.tab_item, null)

    val iv = view.findViewById(R.id.tab_iv) as ImageView

    val tv = view.findViewById(R.id.tab_tv) as TextView

    when (position) {

        0 -> {

            //drawable代码在文章最后贴出

            iv.setImageDrawable(context.resources.getDrawable(R.drawable.home_icon_selector))

            tv.text = "首页"

        }

        1 -> {

            iv.setImageDrawable(context.resources.getDrawable(R.drawable.txl_icon_selector))

            tv.text = "通讯录"

        }

        2 -> {

            iv.setImageDrawable(context.resources.getDrawable(R.drawable.wd_icon_selector))

            tv.text = "我的"

        }

    }

    return view

}

}




### 3、ViewPager加载fragment



private lateinit var fragment3:BlankFragment3

private lateinit var fragment2:BlankFragment2

private lateinit var fragment:BlankFragment


private fun getdata() {

fragment  = BlankFragment()

fragment2 = BlankFragment2()

fragment3 = BlankFragment3()

fragmentList!!.add(fragment)

fragmentList!!.add(fragment2)

fragmentList!!.add(fragment3)



titleList!!.add("首页")

titleList!!.add("通讯录")

titleList!!.add("我的")



activity_tablayout.setTabMode(TabLayout.MODE_FIXED)//不可以轮动



activity_tablayout.addTab(activity_tablayout.newTab().setText(titleList!!.get(0)))

activity_tablayout.addTab(activity_tablayout.newTab().setText(titleList!!.get(1)))

activity_tablayout.addTab(activity_tablayout.newTab().setText(title

本文已被开源项目:【一线大厂面试真题解析+核心总结学习笔记+最新全套讲解视频+实战项目源码讲义】收录

List!!.get(2)))

activity_viewPager.adapter=MyFragmentAdapter(getSupportFragmentManager(), fragmentList!!, titleList!!,this)

activity_tablayout.setupWithViewPager(activity_viewPager)



for (i in 0..2) {

    val tab = activity_tablayout.getTabAt(i)

    //注意!!!这里就是添加我们自定义的布局

    tab!!.setCustomView(adapter!!.getCustomView(i))

    //这里是初始化时,默认item0被选中,setSelected(true)是为了给图片和文字设置选中效果,代码在文章最后贴出

    if (i == 0) {

        (tab!!.getCustomView()!!.findViewById(R.id.tab_iv) as ImageView).isSelected = true

        (tab!!.getCustomView()!!.findViewById(R.id.tab_tv) as TextView).isSelected = true

    }

}

}

最后

Android学习是一条漫长的道路,我们要学习的东西不仅仅只有表面的 技术,还要深入底层,弄明白下面的 原理,只有这样,我们才能够提高自己的竞争力,在当今这个竞争激烈的世界里立足。

人生不可能一帆风顺,有高峰自然有低谷,要相信,那些打不倒我们的,终将使我们更强大,要做自己的摆渡人。

资源持续更新中,欢迎大家一起学习和探讨。

本文已被CODING开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》收录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值