首页 > 编程语言 >手机直播源码,当前页卡指示器的简单实现方法

手机直播源码,当前页卡指示器的简单实现方法

时间:2023-10-13 14:13:02浏览次数:24  
标签:指示器 int 当前页 源码 params void dot size

手机直播源码,当前页卡指示器的简单实现方法

初始化的时候先初始化与list集合size相等的圆点个数:

 


 int size = mList.size();
        initPageIndicator(size);

然后是给ViewPager设置监听事件,并在onPageSelected方法中设置被选中的当前页圆点为选中状态:

 


 
 
 mViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
            @Override
            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
 
            }
 
            @Override
            public void onPageSelected(int position) {
 
                System.out.println(position+"-----------");
                for (int i = 0; i < 4; i++) {
                    setIndicator(i, i == position);
                }
            }
 
            @Override
            public void onPageScrollStateChanged(int state) {
 
            }
        });

 

初始化指示点:

 


private void setIndicator(int i, boolean enabled) {
        View view = mIndicator.getChildAt(i);
        if (view != null) {
            view.setEnabled(enabled);
        }
    }
 
    private void initPageIndicator(int size) {
        if (size <= 1) {
            return;
        }
        for (int i = 0; i < size; i++) {
            addPageIndicator(i);
        }
 
        setIndicator(0, true);
    }
 
    private void addPageIndicator(int i) {
        View dot = new View(this);
        dot.setBackgroundResource(R.drawable.dot_bg_black_selector);
        LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(20, 20);
        if (i != 0) {
            params.leftMargin = 40;
        }
        params.topMargin = 20;
        params.bottomMargin = 10;
        dot.setEnabled(false);
        dot.setLayoutParams(params);
        mIndicator.addView(dot);
    }
  

 

其中在初始化指示点的时候引用的drawable文件夹下的selector文件为:

 


<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
 
    <item android:drawable="@android:drawable/alert_dark_frame" android:state_enabled="true"/>
    <item android:drawable="@android:drawable/alert_light_frame" android:state_enabled="false"/>
</selector> 

 

以上就是 手机直播源码,当前页卡指示器的简单实现方法,更多内容欢迎关注之后的文章

 

标签:指示器,int,当前页,源码,params,void,dot,size
From: https://www.cnblogs.com/yunbaomengnan/p/17761946.html

相关文章

  • SQLite源码编译、修改、调试
    Windows平台VisualStudio2022主要涉及到nmake、makefile文件和windb的使用配置Windows平台下的环境,VisualStudio,C++,文档在SQLite官网文档查看所需参数,然后在makefile中对应查找比如,-DSQLITE_DEBUG选项对应makefile中的DEBUG参数#Setthistooneofthefol......
  • 采用SpringBoot+原生HTML+MySQL开发的电子病历系统源码
    电子病历系统采用“所见即所得、一体化方式”,协助医生和护士准确、标准、快捷实现病历书写、修改、审阅、打印、体温单浏览、医嘱管理等,是提供病历快速简洁化完成的一系列综合型医生病历工作平台。本套电子病历系统主要面向医疗机构医生、护士,提供对住院病人的电子病历书写、保存......
  • Django中关于路由匹配的源码分析
    1:关于路由#django中,路由的写法有很多,从最早一点几版本的url(xxxxx)的形式到后面re_path(xxxx),以及参考flask的path(xxxx)的格式。#无论是哪种,实现的功能本质上就是,匹配url和对应的额视图函数,换言之,就是,找到用户访问的url对应的视图函数,并且执行它。#下面是urls.p......
  • SRM供应商招采系统(源码)
    前言:随着互联网和数字技术的不断发展,企业采购管理逐渐走向数字化和智能化。数字化采购平台作为企业采购管理的新模式,能够提高采购效率、降低采购成本、优化供应商合作效率,已成为企业实现效益提升的关键手段。系统获取在文末。一、建设的必要性数字化采购平台的应用具有以下优......
  • javaweb第8章源码
    javaweb第8章源码下载链接:https://wwpv.lanzoue.com/iRXto1bmbtqb文件结构CHAPTER08│.classpath│.project│├─.settings│.jsdtscope│org.eclipse.jdt.core.prefs│org.eclipse.wst.common.component│org.eclipse.wst.common.projec......
  • 直播带货系统源码解析:搭建你自己的电商直播APP
    通过电商直播,企业和个体经营者能够与潜在客户实时互动,展示产品,提供实时解答,以及鼓励销售。正因如此,一个强大的直播带货系统源码是必不可少的。本文将深入探讨如何使用直播带货系统源码来搭建你自己的电商直播APP。第一部分:理解直播带货系统电商直播是一种创新的销售策略,它结合了传......
  • 成品直播源码,图片放大且有渐变色罩层出现
    成品直播源码,图片放大且有渐变色罩层出现 <!DOCTYPEhtml><html><head><metacharset="utf-8"><title>5</title><style>.mask1,.text{position:relative;overflow:hidden;width:800px;height:500px;transition:all.5s;}      ......
  • C# +.Net +Oracle的医院化验室LIS系统源码
    LIS系统源码技术细节:Ø体系结构:Client/Server架构SaaS模式Ø客户端:WPF+WindowsFormsØ服务端:C#+.NetØ数据库:OracleØ接口技术:RESTfulAPI+Http+WCFLIS检验系统一种专门用于医院化验室的计算机系统,它致力于提高医院化验室的工作效率和检测准确率。LIS系统由多个子系统组......
  • javaweb第7章源码
    javaweb第7章源码:下载链接:https://wwpv.lanzoue.com/iurOS1bijocb文件结构:CHAPTER07│.classpath│.project│├─.settings│.jsdtscope│org.eclipse.jdt.core.prefs│org.eclipse.wst.common.component│org.eclipse.wst.common.proje......
  • OpenJDK17-JVM源码阅读-ZGC-并发标记
    1、ZGC简介1.1介绍ZGC是一款低延迟的垃圾回收器,是Java垃圾收集技术的最前沿,理解了ZGC,那么便可以说理解了java最前沿的垃圾收集技术。从JDK11中作为试验特性推出以来,ZGC一直在不停地发展中。从JDK14开始,ZGC开始支持Windows。在JDK15中,ZGC不再是实验功能,可以......