慕标8473870
2023-10-08
androidx.viewpager2.widget.ViewPager2 是 AndroidX 库中用于实现ViewPager功能的新版本。它提供了更好的性能和更灵活的功能,可以直接替代旧版本的 ViewPager 和 FragmentStatePagerAdapter。你可以将FragmentStatePagerAdapter 替换为 FragmentStateAdapter,使用 ViewPager2 来替代 ViewPager。
weixin_慕勒6221428
2021-08-25
这个实现还可以的吧
一场微醺
2021-05-24
慕用0425495
2020-11-14
这个TabView的根是什么样的
weixin_慕工程2521692
2020-10-09
我也期待啊,我觉得HYMAN 老师讲的是最棒的。
慕粉1805212931
2020-09-21
人生就是一场梦10086
2020-07-13
直接矢量图库搜的
G_Felix
2020-02-25
这种需求建议GitHub找成熟的轮子
iter_hui
2020-01-16
写一个Fragment的子类,为这个Fragment的子类写一个布局文件
cwscc
2019-11-27
public class RotateTransformer implements ViewPager.PageTransformer {
//最大旋转角度
public static final float MAX_ROTATE = 15;
//page:左右两个图片
//position<0时,page表示左页
//position>0时,page表示右页
//position:左右两页的滑动比例
//1)左页滑出,右页滑入:
//左页的position: ( 0 -> -1 )
//右页的position:( 1 -> 0 )
//2)右页滑出,左页滑入:
//左页的position: ( -1 -> 0 )
//右页的position:( 0 -> 1 )
@Override
public void transformPage(View page, float position) {
//旋转中心点:当前页面的左上角顶点
//旋转角度正值方向:顺时针
//左页移出屏幕时
if (position < -1) { // [-Infinity,-1)
//左页逆时针旋转
//旋转中心:左页的右下角顶点
//旋转角度:逆时针旋转到最大值
page.setRotation(-MAX_ROTATE);
page.setPivotX(page.getWidth());
page.setPivotY(page.getHeight());
}
//左右页面都在在屏幕内时
else if (position <= 1) { // [-1,1]
//左边页面逆时针旋转
//旋转中心点:底边中心点->右下角顶点
//旋转角度:逆时针旋转
if(position<0){
//动态调整旋转中心点
float pivotX = 0.5f * page.getWidth() + 0.5f * page.getWidth() * Math.abs(position);
float pivotY = page.getHeight();
page.setPivotX(pivotX);
page.setPivotY(pivotY);
//动态调整旋转角度
float roateAngl = MAX_ROTATE * position;
page.setRotation(roateAngl);
}
//左边页面逆时针旋转
//旋转中心点:底边中心点->左下角顶点
//旋转角度:顺时针旋转
else
{
//动态调整旋转中心点
float pivotX = 0.5f * page.getWidth() * (1-Math.abs(position));
float pivotY = page.getHeight();
page.setPivotX(pivotX);
page.setPivotY(pivotY);
//动态调整旋转角度
float roateAngl = MAX_ROTATE * position;
page.setRotation(roateAngl);
}
}
//右页移出屏幕时
else { // (1,+Infinity]
//右页顺时针旋转
//旋转中心点:左下角顶点
//旋转角度:顺时针旋转到最大值
page.setRotation(MAX_ROTATE);
page.setPivotX(0);
page.setPivotY(page.getHeight());
}
}
}
cwscc
2019-11-27
好像是这样的
cwscc
2019-11-25
那是有什么版本不一样吧
SimonWvW
2019-11-16
Error inflating class null
幕布斯5137996
2019-10-28
饶政
2019-10-26
if (position >= 0 && position + 1 <= mTabs.size() - 1)
我是这么判断的
qq_慕圣2388611
2019-10-16
不错啊,总结得
Begined
2019-10-14
你其中一行代码写错了,
mViewPagerMain.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {}
是 new FragmentPagerAdapter 或 FragmentStatePagerAdapter,
因为这个是适配器,如果要new 自己的,你可以重新定义一个扩展类
public class xxxxxx extends FragmentPagerAdapter{}
口渴的時候喝可樂
2019-09-26
navigation要在浏览器环境下才可以
慕婉清Hl
2019-09-07
个人想法是,如果你想添加不同的fragment,肯定有不同的布局,所以一个fragment类是不够的,你可以将你创建的不同的fragment类实例化后添加到一个列表list中,然后再重写getItem方法时 return list.get(position)
慕粉0315938
2019-09-05
Fragment中不能使用getActivity()获取view,没有代码,大致猜测
qq_淰间_0
2019-08-06
慕仰8556244
2019-06-17
qq_慕村9185526
2019-06-13
跟着hyman老师的课程学
Agg_bb
2019-06-07
可以跟着敲啊,为什么要源码
慕虎4346745
2019-05-23
我也是有问题。显示不了。。。
qq_不三不四_0
2019-05-16
看看是不是TabFragment.java里的onViewCoreated方法中少了mTvTitle.setText(mTitle);
三少爷的鞋
2019-05-02
肯定是根据开发场景来啊,这里只是做例子讲解
慕尼黑1259282
2019-05-01
这就要多写几个Fragment,不同的Fragment有不同的布局,在ViewPager setAdapter()中的的getItem()方法的时候根据参数 int i 来new出不同的Fragment,这样不同的tab就有不同的页面。
慕的地029372
2019-05-01
看到下一章,明白为什么选择这个实现了。
FallWeiss
2019-04-26
大哥,你是不是不会android开发?你飘红的事不是代码,老师的里面的什么defaultvalue只是提示而已!你还真是搞笑!那是AS提示属性的!