直播平台源代码,顶部标签栏及内容列表的设计与实现
直播平台源代码,顶部标签栏及内容列表的设计与实现
1、主页面添加ViewPager控件
activity_main.xml
1 | <br><LinearLayout xmlns:android= "http://schemas.android.com/apk/res/android" <br> xmlns:app= "http://schemas.android.com/apk/res-auto" <br> xmlns:tools= "http://schemas.android.com/tools" <br> android:layout_width= "match_parent" <br> android:layout_height= "match_parent" <br> tools:context= ".MainActivity" ><br><!-- 翻页视图--><br> <androidx.viewpager.widget.ViewPager<br> android:id= "@+id/viewpager" <br> android:layout_width= "match_parent" <br> android:layout_height= "match_parent" /><br> <br></LinearLayout><br> |
2、创建适配器继承FragmentPagerAdapter
在适配器类中创建构造方法,传入FragmentManager对象及放入ViewPager的Fragment对象集合
MyAdapter.java
1 | <br> public class MyAdapter extends FragmentPagerAdapter {<br> private List<Fragment> fragmentList;<br> public MyAdapter(@NonNull FragmentManager fm, List<Fragment> list) {<br> super(fm);<br> this.fragmentList=list;<br> }<br> //获取当前滑动到fragment对象<br> @NonNull<br> @Override<br> public Fragment getItem(int position) {<br> return fragmentList.get(position);<br> }<br> //获取fragment个数<br> @Override<br> public int getCount() {<br> return fragmentList.size();<br> }<br>}<br> |
3、为ViewPager对象设置适配器
准备Fragment集合
创建MyAdapter适配器
MainActivity.java
1 | <br> public class MainActivity extends AppCompatActivity {<br> private ViewPager viewPager;<br> @Override<br> protected void onCreate(Bundle savedInstanceState) {<br> super.onCreate(savedInstanceState);<br> setContentView(R.layout.activity_main);<br> viewPager=findViewById(R.id.viewpager);<br> //准备fragment集合<br> List<Fragment> list=new ArrayList<>();<br> list.add(new Fragment1());<br> list.add(new Fragment2());<br> list.add(new Fragment3());<br> //创建MyAdapter对象<br> MyAdapter myAdapter=new MyAdapter(getSupportFragmentManager(),list);<br> //设置Adapter<br> viewPager.setAdapter(myAdapter);<br> }<br>} |
4、设置ViewPager监听
onPageScrolled()方法在页面滑动时调用,在滑动停止之前,会一直调用此方法,第一个参数为当前页面,即单机滑动的页面,第二个参数是当前页面偏移的百分比,第三个参数是当前页面便宜的像素的位置
onPageSelected()方法在页面滑动结束后调用,参数position是当前选中页面的位置
onPageScrollStateChanged()方法在页面滑动状态改变时调用,参数state有3个值;SCROLL_STATE_DRAGCING表示用户手指按在屏幕上并且开始拖动的状态、SCROLL_STATE_IDLE表示滑动动画做完的状态、SCROLL_STATE_SETTLING表示手指离开屏幕的状态。
1 | viewPager.setOnPageChangeListener( new ViewPager.OnPageChangeListener() {<br> @Override<br> public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {<br> //页面滑动调用此方法<br> }<br> @Override<br> public void onPageSelected(int position) {<br> //滑动到某个页面调用此方法<br> Toast.makeText(MainActivity.this, "这是第"+(position+1)+"个fragment", Toast.LENGTH_SHORT).show();<br> }<br> @Override<br> public void onPageScrollStateChanged(int state) {<br> //页面滚动状态发生变化调用此方法<br> }<br> }); |
以上就是 直播平台源代码,顶部标签栏及内容列表的设计与实现,更多内容欢迎关注之后的文章
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
2021-12-16 短视频平台源码,构建简单的底部导航栏
2021-12-16 android短视频开发,调用相机、相册,压缩图片后上传
2021-12-16 app直播源码,Android 设置系统亮度