首页
学习
活动
专区
圈层
工具
发布

切换按钮-自定义控件

准备两张图片,按钮背景,上面的小开关 创建一个类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

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

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

    定义手指最后的坐标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.6K20

    【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.7K30

    C语言实现温度转换 | 源码+注释

    例1:有人用温度计测量出用华氏温度98°F,现在要求用C语言实现把它转换为以摄氏法表示的温度。...解题思路:这个问题的算法很简单,关键在于找到二者之间的转化公式,摄氏度等于九分之五乘以华氏度减去32的积,也就是: centigrade=(5.0/9)*(f_Degree-32); 源代码演示: #include...定义浮点型变量     f_Degree=98.0;//初始化华氏度变量     centigrade=(5.0/9)*(f_Degree-32);//注意此处应该是5.0     printf("华氏度98的摄氏度为...:%f\n",centigrade);//输出结果     return 0;//函数返回值为0   } 编译结果: 华氏度98的摄氏度为:36.666668 --------------------...更多案例可以go微信公众号:C语言入门到精通,作者:闫小林

    3.6K2929

    单标签下的日间黑夜模式切换按钮效果

    前不久,在网上看到这么一张非常有趣的图: 想必很多同学都看到这张图,是一个开发小哥被一个日间/黑夜模式切换按钮效果逼疯的视频。...其效果图如下: 为了实现最终的点击切换,我们可以把夜间效果下,按钮的样式,写在一个新的 class 内,这样,后面只需要在点击的过程中,去切换这个 class 即可。...这样做的原因是能够在切换过程中,得到更好的动画效果。 好!...到这里,只剩下夜间模式下的星星和背景了,背景是非常好解决的,主要是星星,看原效果的动图,每一颗星星是带有棱角的,而这种不规则图案,确实是 CSS 最棘手的问题。...到这里,无奈退而求其次,考虑使用小圆点模拟星星效果。(没想到效果其实也很不错!) 那这个问题又变成了和月亮与陨石坑类似的问题了,都是圆形,那就非常好解决。

    62421

    【Go语言刷题篇】Go从0到入门2:类型转换、字符求和、运算符运算(加减乘除取余比较符)练习

    前言 本系列文章采用牛客的核心代码模式进行案例代码提供,帮助大家从0到入门的学习过程中进行配套的刷题~ 推荐给大家一款刷题、面试的神器:刷题神器跳转链接 可以通过该神器进行日常的刷题、找大厂面经、学习计算机基础知识...return 2*(a+b) } Q4:温度转换 问题描述:定义一个变量保存华氏温度,华氏温度转换摄氏度的公式为:5/9*(华氏温度-100),求出华氏温度对应的摄氏温度。...37.77778 案例代码: //import "fmt" /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param f double浮点型 华氏温度...@return double浮点型 */ func temperature( f float64 ) float64 { // write code here //1、摄氏温度(C)与华氏温度

    23410

    仅使用HTML和CSS的亮暗模式按钮切换

    建立仅html和css的亮暗模式切换的快速指南。...文章末尾给出了完整代码 演示效果: 使用css,html我们将建立一个按钮,该按钮: light-mode和dark-mode之间的变化 默认为用户首选的配色方案 更改标签以反映用户的首选配色方案。...我需要一种dark-mode 无需javascript进行切换的方法,同时仍然默认为visitor preferred-color-scheme。...这是我的解决方案,针对本教程进行了简化: 怎么运行的: 大多数dark-mode切换按钮的工作方式是更改标签上的属性,然后在CSS中定位该属性。...CSDN积分下载 https://download.csdn.net/download/qq_44273429/15817885 2.关注公众号免费下载 关注作者微信公众号啦啦啦好想biu点什么回复亮暗模式切换免费获取

    5.1K20
    领券