安卓的fragment切换+左右滑动
程序员文章站
2022-05-05 14:21:18
...
viewpage控件:
public class ShowActivity extends AppCompatActivity {
private ViewPager pager;
private RadioGroup radioGroup;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_show);
ButterKnife.bind(this);
获取资源ID
pager = findViewById(R.id.viewpager);
radioGroup = findViewById(R.id.radioGroup);
选中第一个
radioGroup.check(radioGroup.getChildAt(0).getId());
添加fragment页
final ArrayList<Fragment> list = new ArrayList<>();
list.add(new FragOne());
list.add(new FragTwo());
list.add(new FragThree());
list.add(new FragFour());
list.add(new FragFive());
内部类adapter
pager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {
@Override
public Fragment getItem(int i) {
return list.get(i);
}
@Override
public int getCount() {
return list.size();
}
});
viewpage切换
pager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int i, float v, int i1) {
}
@Override
public void onPageSelected(int i) {
radioGroup.check(radioGroup.getChildAt(i).getId());
}
@Override
public void onPageScrollStateChanged(int i) {
}
});
滑动选中相应的下标
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup radioGroup, int i) {
switch (i){
case R.id.radio0:
pager.setCurrentItem(0);
break;
case R.id.radio1:
pager.setCurrentItem(1);
break;
case R.id.radio2:
pager.setCurrentItem(2);
break;
case R.id.radio3:
pager.setCurrentItem(3);
break;
case R.id.radio4:
pager.setCurrentItem(4);
break;
}
}
});
}
上一篇: 安卓统一添加activity切换动画
下一篇: 安卓recyclerview
推荐阅读
-
Android编程实现左右滑动切换背景的方法
-
Android开发实现高仿优酷的客户端图片左右滑动切换功能实例【附源码下载】
-
Android编程实现的首页左右滑动切换功能示例
-
安卓底部导航栏的实现以及用TabLayout+ViewPager+Fragment实现页面滑动切换
-
一行代码创建可以左右滑动切换的底部导航栏
-
Android开发实现高仿优酷的客户端图片左右滑动切换功能实例【附源码下载】
-
android app安卓应用实例:起始页+fragment底部导航栏+ViewPager滑动切换+个人信息界面(二)
-
Android编程实现左右滑动切换背景的方法
-
TabLayout+View Pager+Fragment 实现页面左右滑动切换
-
Android编程实现左右滑动切换背景的方法