首页 > 其他分享 >直播平台源代码,顶部标签栏及内容列表的设计与实现

直播平台源代码,顶部标签栏及内容列表的设计与实现

时间:2022-12-16 14:14:41浏览次数:50  
标签:栏及 标签 MyAdapter list 滑动 android 源代码 public 页面

直播平台源代码,顶部标签栏及内容列表的设计与实现

1、主页面添加ViewPager控件

activity_main.xml

 


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
<!--  翻页视图-->
    <androidx.viewpager.widget.ViewPager
        android:id="@+id/viewpager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>
        
</LinearLayout>
 

2、创建适配器继承FragmentPagerAdapter

在适配器类中创建构造方法,传入FragmentManager对象及放入ViewPager的Fragment对象集合

MyAdapter.java

 


public class MyAdapter extends FragmentPagerAdapter {
    private List<Fragment> fragmentList;
    public MyAdapter(@NonNull FragmentManager fm, List<Fragment> list) {
        super(fm);
        this.fragmentList=list;
    }
    //获取当前滑动到fragment对象
    @NonNull
    @Override
    public Fragment getItem(int position) {
        return fragmentList.get(position);
    }
    //获取fragment个数
    @Override
    public int getCount() {
        return fragmentList.size();
    }
}
 

 

3、为ViewPager对象设置适配器

准备Fragment集合

创建MyAdapter适配器

MainActivity.java

 


public class MainActivity extends AppCompatActivity {
    private ViewPager viewPager;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        viewPager=findViewById(R.id.viewpager);
        //准备fragment集合
        List<Fragment> list=new ArrayList<>();
        list.add(new Fragment1());
        list.add(new Fragment2());
        list.add(new Fragment3());
        //创建MyAdapter对象
        MyAdapter myAdapter=new MyAdapter(getSupportFragmentManager(),list);
        //设置Adapter
        viewPager.setAdapter(myAdapter);
    }

 

4、设置ViewPager监听

onPageScrolled()方法在页面滑动时调用,在滑动停止之前,会一直调用此方法,第一个参数为当前页面,即单机滑动的页面,第二个参数是当前页面偏移的百分比,第三个参数是当前页面便宜的像素的位置

onPageSelected()方法在页面滑动结束后调用,参数position是当前选中页面的位置

onPageScrollStateChanged()方法在页面滑动状态改变时调用,参数state有3个值;SCROLL_STATE_DRAGCING表示用户手指按在屏幕上并且开始拖动的状态、SCROLL_STATE_IDLE表示滑动动画做完的状态、SCROLL_STATE_SETTLING表示手指离开屏幕的状态。

 

        viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
            @Override
            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
                //页面滑动调用此方法
            }
            @Override
            public void onPageSelected(int position) {
                //滑动到某个页面调用此方法
  Toast.makeText(MainActivity.this, "这是第"+(position+1)+"个fragment", Toast.LENGTH_SHORT).show();
            }
            @Override
            public void onPageScrollStateChanged(int state) {
                //页面滚动状态发生变化调用此方法
            }
        });

 

 以上就是 直播平台源代码,顶部标签栏及内容列表的设计与实现,更多内容欢迎关注之后的文章

 

标签:栏及,标签,MyAdapter,list,滑动,android,源代码,public,页面
From: https://www.cnblogs.com/yunbaomengnan/p/16987179.html

相关文章