Android kotlin实现底部导航栏
生活随笔
收集整理的這篇文章主要介紹了
Android kotlin实现底部导航栏
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、實現效果,可點擊或者滑動切換fragment
點擊? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?滑動
? ? ? ? ? ? ? ? ? ?
?
?實現方法:
1、創建三個fragment.kt
2、創建fragmentAdapter
class MyFragmentAdapter(fragmentManager: FragmentManager, private val fragmentList: List<Fragment>, private val titleList: List<String>, private val context: Context) : FragmentPagerAdapter(fragmentManager) {override fun getItem(position: Int): Fragment {return fragmentList[position]}override fun getCount(): Int {return titleList.size}//注意!!!這里就是我們自定義的布局tab_itemfun getCustomView(position: Int): View {val view = LayoutInflater.from(context).inflate(R.layout.tab_item, null)val iv = view.findViewById(R.id.tab_iv) as ImageViewval tv = view.findViewById(R.id.tab_tv) as TextViewwhen (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(titleList!!.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}}}demo云盤鏈接:https://pan.baidu.com/s/1HJKbRY0WBXGMfwmU-AP7HA
密碼在線回復:QQ1085220040
kotlin工程demo鏈接:https://download.csdn.net/download/meixi_android/11212091
?
總結
以上是生活随笔為你收集整理的Android kotlin实现底部导航栏的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux 查看ip和路由,Linux
- 下一篇: 同步Android与PC的时间