写一个demo时发现,其中
TabL
ay
out作为底部导航栏,
默认
选中
竟然无法回调onTabSelected,而选择其他Position时,可以正常回调回来
原因是因为我们是先addTab这个时候还没有绑定回调方法,所以应该是先是
设置
回调,而后add
m
TabL
ay
out = findViewById(R.id.tab_l
ay
out);
m
TabL
ay
out.addOnTabSelectedListener(new
TabL
ay
out.OnTabSelectedListen
关于
TabL
ay
out+ViewPager2的使用以及相关问题点1.前言2.特点3.代码及说明3.1.先上效果图3.2.代码如下4.问题点4.1.导入依赖冲突4.2.
默认
选中
问题4.3.源码5.最后
最新
项
目需要用到
TabL
ay
out+ViewPager实现对应的功能,后来发现ViewPager的实现方法被废弃掉了(虽然还可以用,但有坑后面说),Google推荐用新一点的ViewPager2来代替,下面来谈谈我用到的。
实现标题栏和内容联动切换
用多个
TabL
ay
out关联多个fr
今天在写 Android 程序的时候使用到了控件
TabL
ay
out ,并想实现以下
选项卡
的效果。
通过百度搜索了很多篇博主的文章,也受益匪浅,但是总是有一些缺陷,在这里我来给大家整理一个完整的例子,供大家学习使用。
先附上我参考博主的链接:https://blog.csdn.net/lilihong0/article/details/80927136?utm_source=blogxgwz30
二、源码实例
1.
选项卡
所在的布局文件 fragment_course_selec
您可以使用
TabL
ay
out中的addOnTabSelectedListener()方法来获取
TabL
ay
out的事件而无需使用findViewById()方法。这个方法允许您在
TabL
ay
out中添加一个TabSelectedListener,这样您就可以监听用户选择了哪个
选项卡
,并在
选项卡
被
选中
时执行您需要的操作。例如:
TabL
ay
out
tabL
ay
out = findViewById(R.id.tab_l
ay
out);
tabL
ay
out.addOnTabSelectedListener(new
TabL
ay
out.OnTabSelectedListener() {
@Override
public void onTabSelected(
TabL
ay
out.Tab tab) {
// 当用户选择一个
选项卡
时执行操作
@Override
public void onTabUnselected(
TabL
ay
out.Tab tab) {
// 当用户取消选择一个
选项卡
时执行操作
@Override
public void onTabReselected(
TabL
ay
out.Tab tab) {
// 当用户再次选择一个已
选中
的
选项卡
时执行操作
在上面的代码中,您可以替换R.id.tab_l
ay
out为您的
TabL
ay
out的ID,然后在onTabSelected()、onTabUnselected()和onTabReselected()方法中添加您需要执行的操作。