首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

切换按钮-自定义控件

准备两张图片,按钮背景,上面的小开关 创建一个类MyToggleBtn,继承View 实现三个构造方法,传递上下文, 实现构造方法,传递Context对象,在java代码中实例化时主要使用这个 实现构造方法...滑动按钮目前的位置,0,0,状态是 关 canvas.drawBitmap(bitmapBtn, 0, 0, paint); 滑动按钮的位置在,背景图的宽度-滑动按钮的宽度,0,状态是 开 canvas.drawBitmap...(bitmapBtn, 背景图的宽度-滑动按钮的宽度, 0, paint); 定义成员变量currentState存储当前状态,值:布尔值 调用setOnClickListener()方法,设置点击事件...,参数:this 当前类实现obClickListener接口,实现onClick()方法 切换当前状态currentState=!...currentState 判断当前状态 如果为真,滑动按钮的左边是背景图的宽度-滑动按钮的宽度 如果为假,滑动按钮的左边是0 调用invalidate()方法,刷新当前视图 MyToggleBtn.java

1.7K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    切换按钮-自定义控件-拖动效果

    定义手指最后的坐标lastX 调用MotionEvent对象的getX() 方法,得到lastX的值 当手指在屏幕上移动 定义手指横向移动的距离dis 调用getX()-lastX就是移动的距离 定义滑动按钮的左边就是这个移动的距离...判断slideBtnLeft位于合理的位置,0到背景图的宽度-滑动按钮的宽度 调用invalidate()方法,刷新视图 onClick事件和onTouchEvent是有冲突 定义一个标志isDrag...变量,如果有拖动发生,就把这个变量赋值true 在onCllick()方法里面对这个变量进行判断 当手指抬起的时候 判断当前slideBtnLeft来确定当前按钮是开还是关的状态 slideBtnLeft...(), bitmapBackground.getHeight()); } //当前状态 private boolean currentState=false; //滑动按钮的当前...Canvas canvas) { //绘制背景 canvas.drawBitmap(bitmapBackground, 0, 0, paint); //绘制滑动按钮

    1.3K20

    【Flutter 专题】129 图解 ToggleButtons 按钮切换容器组

    和尚前两天刚学习了 ButtonBar 按钮容器,今天顺便学习一下 ToggleButtons 按钮切换容器组,其切换效果可以应用在日常 TabBar 切换位置; ToggleButtons 源码分析...// 初始水波纹颜色 this.splashColor, // 选中时水波纹颜色 this.focusNodes, // 接受对应于每个切换按钮焦点列表...this.borderRadius, // 边框圆角弧度 this.borderWidth, // 边框宽度 }) 简单分析源码可得,ToggleButtons 是一组水平方向切换按钮容器组...Widgets 是通过 Row 进行排列的;children 和 isSelected 是必备属性,两者数组长度要一致; 案例尝试 1. children & isSelected children 的按钮状态由...8. focusNodes focusNodes 用于接受对应于每个切换按钮的 FocusNode 列表,焦点用于确定键盘事件应该影响哪个子 Widget,若设置 focusNodes,其数组长度应与子

    1.4K30

    Windows环境自由切换JDK8和JDK17

    本文介绍了在已有Java 1.8的系统上安装JDK 17的方法,并解决了安装后Java版本无法切换的问题。...文章详细说明了如何在Windows操作系统中下载和安装JDK 17,以及如何正确配置环境变量来实现版本切换。...二、不同Java版本切换步骤 在开发过程中,可能需要在不同版本的Java之间切换,特别是在维护旧系统和开发新项目时。以下是如何在Java 8和OpenJDK 17之间进行自由切换的步骤。 1....调整Path里先后顺序完成切换 在同一“环境变量”窗口中,找到 Path 变量,点击编辑。 如果需要在多个版本之间快速切换,可以通过调整 Path 中不同 JAVA_HOME 路径的顺序来实现。...添加描述 三、操作总结 通过以上步骤,开发者可以在同一台机器上轻松切换不同版本的JDK,从而满足不同项目的需求。无论是开发新的功能还是维护老旧的系统,掌握Java版本的自由切换将大大提升工作效率。

    1K10

    Linux环境下使用Conda搭建和自由切换Python环境

    但是Linux环境下也会存在一些问题,比如Linux系统默认的Python版本一般为2.7,而如今的发行版已经到了3.9,因此能够在操作系统上简单地完成不同Python发行版的的切换十分必要。...激活上一步创建的Python3.7版本环境,使用conda activate命令激活环境,同时也可以通过创建其他版本的环境,使用conda activate命令实现切换,命令行如下所示: # 激活python3.7...其中: wget是一个从网络上自动下载文件的自由工具,支持通过HTTP、HTTPS、FTP三个最常见的TCP/IP协议下载,并可以使用HTTP代理。...切换Python版本环境 可以参数步骤6创建多个Python版本环境,后使用conda activate命令进行切换。...如果需要查看已经安装了多少种环境可以桶滚输入conda env list查看,如下图所示: 如需切换直接激活对应的版本即可。

    7.6K87
    领券