viewpage2本身自带了懒加载模式,十分人性化。

class TabLayoutActivity : AppCompatActivity() {private lateinit var mPagerAdapter: TabPagerAdapteroverride fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_tablayout)mPagerAdapter = TabPagerAdapter(this)initTab()//        initOther()}private fun initOther(){val joinStr1 = arrayOf("a","b","c","d").joinToString(separator = "",prefix = "前缀",postfix = "后缀",limit = 3,truncated = "····").apply {print(this)}}private fun initTab() {val titles = arrayListOf("精选","体育","巴萨","购物","明星","视频","健康","励志","图文","本地","动漫","搞笑","舞蹈","其他")val fragments = ArrayList<Fragment>()titles.indices.map { i->fragments.add(TestFragment())}mPagerAdapter.setNewFragments(fragments)viewpager.orientation = ViewPager2.ORIENTATION_HORIZONTALviewpager.adapter = mPagerAdapterTabLayoutMediator(tabs, viewpager,TabLayoutMediator.TabConfigurationStrategy { tab, position -> tab.text = titles[position] }).attach()viewpager.registerOnPageChangeCallback(object :ViewPager2.OnPageChangeCallback(){})}
class TestFragment : Fragment() {override fun onCreateView(inflater: LayoutInflater,container: ViewGroup?,savedInstanceState: Bundle?): View? {return inflater.inflate(R.layout.fragment_item_one, container, false)}override fun onViewCreated(view: View, savedInstanceState: Bundle?) {super.onViewCreated(view, savedInstanceState)tv_item.text = javaClass.nametv_item.background = ContextCompat.getDrawable(requireContext(), R.mipmap.bianpao)}
}

class TabPagerAdapter(fragmentActivity: FragmentActivity) : FragmentStateAdapter(fragmentActivity) {private val mFragmentList = ArrayList<Fragment>()fun setNewFragments(data: ArrayList<Fragment>) {if (data.isNotEmpty()) {mFragmentList.clear()mFragmentList.addAll(data)notifyDataSetChanged()}}fun removeFragment(position: Int) {if (mFragmentList.size > position) {mFragmentList.remove(mFragmentList[position])notifyDataSetChanged()}}override fun getItemCount(): Int {return mFragmentList.size}override fun createFragment(position: Int): Fragment {return mFragmentList[position]}}

viewpage2简单实现tablayout相关推荐

  1. Android开发之简单修改TabLayout默认文字大小的方法(亲测可用)

    很简单,先看图: 这是比较小的12sp 我们看下大字体28sp的 实际上很简单,给TabLayout设置一个style即可 划重点!style一定要继承TextAppearance.Design.Ta ...

  2. ViewPage2简单使用

    为了解决ViewPager的懒加载问题,搜了一圈发现谷歌推出了升级版ViewPager2,貌似自带就懒加载.升级也十分简单 build.gradle 添加依赖 implementation " ...

  3. android view padding,记一次tablayout的tabView偷偷自带padding的问题

    这次故事主人翁还是tablayout,在github看官方demo的时候https://github.com/googlesamples/android-media-controller,效果图有一个 ...

  4. TabLayout的使用和自定义红点消息提示

    Tab+ViewPager可以说是Android开发中非常常见的布局了,以前实现tab布局一般使用LinearLayout或者HorizontalScrollView,还需要自己监听ViewPager ...

  5. TabLayout+ViewPager+Fragmet+RecyclerView结合的小demo

    前两天想熟悉一下tablayout,所以就弄了个特别简单的tablayout+viewpager+fragmet+recyclerview结合的小demo.虽然特别简单,但还是遇到了不少问题. tab ...

  6. android UI

    A015-布局之LinearLayout good 巫山老妖 Android UI开发: 横向ListView(HorizontalListView)及一个简单相册的完整实现 (附源码下载) Andr ...

  7. Material Design控件使用(二)

    本篇接着之前的Material Design控件总结(一)往下学习support design包下其余控件,如果对Material Design不太熟悉的同学最好把第一篇看完再来看第二篇效果更好 本篇 ...

  8. Android开源库V - Layout,适用于电商首页、活动页多布局的Layout

    转载至:http://blog.csdn.net/carson_ho/article/details/71077193 感谢Carson_Ho分享 前言 V- Layout 是阿里出品的基础 UI 框 ...

  9. Android TabLayout(选项卡布局)简单用法实例分析

    本文实例讲述了Android TabLayout(选项卡布局)简单用法.分享给大家供大家参考,具体如下: 我们在应用viewpager的时候,经常会使用TabPageIndicator来与其配合.达到 ...

  10. tablayout 增加数字小标_为TabLayout添加角标的最简单方法

    一.前言 在开发中,我们常常需要ViewPager结合Fragment一起使用,来实现多页签的切换效果.在以前,我们有以下一系列第三方库来帮我们实现: 而现在,我们可以使用Design support ...

最新文章

  1. Kali渗透测试——UPNP网关发现工具Miranda
  2. springboot 项目将本地引用打进jar包
  3. 剑指offer全套题解:Python版
  4. Java双等号,Equals(),HashCode()小结
  5. WPF WebBrowser 加载 html ,出现安全警告, 运行 脚本和 activeX 控件,
  6. 【POJ】【最小生成树】1789 Truck History
  7. 机器学习:算法模型:决策树
  8. jeecg输入中文查询导表为空_学术利器—SCI期刊影响因子查询/中文核心期刊查询系统更新...
  9. 从零开始学java(2)--java中命名的明规则与潜规则
  10. SQL注入学习part03:(结合sqli-libs学习:21-30关)
  11. js table 生成序号_JS自动为表格增加序号
  12. Unity 绘制物体运动轨迹
  13. 图片无缝滚动BootStrap 轻松实现
  14. 重庆航天职业技术学院计算机宿舍,2019年重庆航天职业技术学院寝室宿舍条件与学校食堂环境图片...
  15. ROS 机器人操作系统
  16. Hive--窗口函数
  17. python爬虫项目实训报告背景_项目实战 | Python爬虫概述与实践(一)
  18. 气象统计方法短期气候预测代码汇总
  19. 从业务架构师视角解读区块链
  20. 豆瓣电影:TOP250榜单爬虫

热门文章

  1. python编程视频剪辑_MoviePy常用剪辑类及Python视频剪辑自动化
  2. somachine3.1安装包和注册文件
  3. whl 文件怎么安装
  4. 六轴传感器MPU6050
  5. 海康sdk远程门禁_海康威视远程监控Android端SDK调用示例
  6. centos7自动获取ip命令_如何设置CentOS 7开机自动获取IP地址详解
  7. 解决cmd中tomcat中文乱码问题
  8. 西门子G120C变频器中的参考速度+转速给定原理分析
  9. 数据库表自动生成word文档
  10. FW150U构建无线局域网【模拟AP功能设置指南】