手机直播源码,当前页卡指示器的简单实现方法
手机直播源码,当前页卡指示器的简单实现方法
初始化的时候先初始化与list集合size相等的圆点个数:
1 | <br> int size = mList.size();<br> initPageIndicator(size); |
然后是给ViewPager设置监听事件,并在onPageSelected方法中设置被选中的当前页圆点为选中状态:
1 | <br> <br> <br> mViewPager.addOnPageChangeListener( new ViewPager.OnPageChangeListener() {<br> @Override<br> public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {<br> <br> }<br> <br> @Override<br> public void onPageSelected(int position) {<br> <br> System.out.println(position+ "-----------" );<br> for (int i = 0; i < 4; i++) {<br> setIndicator(i, i == position);<br> }<br> }<br> <br> @Override<br> public void onPageScrollStateChanged(int state) {<br> <br> }<br> }); |
初始化指示点:
1 | <br> private void setIndicator(int i, boolean enabled) {<br> View view = mIndicator.getChildAt(i);<br> if (view != null) {<br> view.setEnabled(enabled);<br> }<br> }<br> <br> private void initPageIndicator(int size) {<br> if (size <= 1) {<br> return ;<br> }<br> for (int i = 0; i < size; i++) {<br> addPageIndicator(i);<br> }<br> <br> setIndicator(0, true);<br> }<br> <br> private void addPageIndicator(int i) {<br> View dot = new View(this);<br> dot.setBackgroundResource(R.drawable.dot_bg_black_selector);<br> LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(20, 20);<br> if (i != 0) {<br> params.leftMargin = 40;<br> }<br> params.topMargin = 20;<br> params.bottomMargin = 10;<br> dot.setEnabled(false);<br> dot.setLayoutParams(params);<br> mIndicator.addView(dot);<br> }<br> |
其中在初始化指示点的时候引用的drawable文件夹下的selector文件为:
1 | <br><?xml version= "1.0" encoding= "utf-8" ?><br><selector xmlns:android= "http://schemas.android.com/apk/res/android" ><br> <br> <item android:drawable= "@android:drawable/alert_dark_frame" android:state_enabled= "true" /><br> <item android:drawable= "@android:drawable/alert_light_frame" android:state_enabled= "false" /><br></selector> |
以上就是 手机直播源码,当前页卡指示器的简单实现方法,更多内容欢迎关注之后的文章
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
2022-10-13 直播app开发搭建,关于对象内函数定义的一种方式——中括号
2022-10-13 直播平台搭建源码,实现活动报名登记
2022-10-13 直播电商平台开发,BigDecimal 加减乘除顺序验证
2021-10-13 在线直播系统源码,Dart-Flutter DateTime日期转换
2021-10-13 直播带货源码,图片左上角或右上角点击返回按钮
2021-10-13 聊天平台源码,聊天平台如何获取到音频流