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

自定义View实战

PS:上一篇0开始自定义View有博友给我留言说要看实战,今天特意写了几个例子,供大家参考,所画图案加上动画看着确实人舒服,喜欢博友可以直接拿到自己项目中去使用,由于我这个是demo...那就先拿第三个来吧 条形进度条-可拖动 分析:我们想要做一个类似的控件,需要考虑问题不只是眼睛看,看不到就好比我只能点击小红球才可以滑动,点击其他区域是不能有任何操作这个时候就要判断手指...,如果有看不懂博友,可以先看上一篇0开始自定义View。...,只是静态,下面是如何拖动,就要在onTouchEvent方法中去写了,代码都已经添加了注释  Math.abs(dhx)<50&&Math.abs(dhy)<50  是证明down坐标点原始坐标点相差范围在...,这个时候我们再设置小球move坐标(小球跟随手指移动)。

54920

不可思议纯CSS导航栏下划线跟随效果

其实即便借助 Javascript ,第一反应也是,感觉很麻烦啊。所以我一直在想,有没有可能只使用 CSS 完成这个效果呢?...同理,当导航右侧 li 移向左侧 li,下划线右往左移动。 实现需求 第一眼看到这个效果,感觉这个跟随动画,仅靠 CSS 是不可能完成。...如果只用 CSS 实现,只能另辟蹊径,使用一些讨巧方法。 好,下面就借助一些奇技淫巧,使用 CSS 一步一步完成这个效果。分析一下难点: 宽度不固定 第一个难点, li 宽度是不固定。...现在还剩下一个最难问题: 如何线条跟随光标的移动动作,实现当导航左侧 li 移向右侧 li,下划线从左往右移动。同理,当导航右侧 li 移向左侧 li,下划线右往左移动。...完整DEMO可以戳这里: CodePen Demo -- 不可思议CSS光标下划线跟随效果 最后 本方法最大瑕疵在于一开始进入第一个 li 时候,线条只能是右往左,除此之外,都能很好实现跟随效果

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

不可思议纯CSS导航栏下划线跟随效果

其实即便借助 Javascript ,第一反应也是,感觉很麻烦啊。所以我一直在想,有没有可能只使用 CSS 完成这个效果呢?...同理,当导航右侧 li 移向左侧 li,下划线右往左移动。 实现需求 第一眼看到这个效果,感觉这个跟随动画,仅靠 CSS 是不可能完成。...如果只用 CSS 实现,只能另辟蹊径,使用一些讨巧方法。 好,下面就借助一些奇技淫巧,使用 CSS 一步一步完成这个效果。分析一下难点: 宽度不固定 第一个难点, li 宽度是不固定。...现在还剩下一个最难问题: 如何线条跟随光标的移动动作,实现当导航左侧 li 移向右侧 li,下划线从左往右移动。同理,当导航右侧 li 移向左侧 li,下划线右往左移动。...完整DEMO可以戳这里: CodePen Demo -- 不可思议CSS光标下划线跟随效果 最后 本方法最大瑕疵在于一开始进入第一个 li 时候,线条只能是右往左,除此之外,都能很好实现跟随效果

2.1K30

CSS

先看这个问题昂:在给c2div标签加上浮动之前是下面这样效果:     并没有给c1那个div标签设置高度,但是你发现c1这个div标签是有高度,这是因为里面两个c2div设置了高度了,这两个...div将c1这个div标签撑起来了     当我们加上浮动之后,你再看这个c1div标签高度:发现c1这个div高度没有了,显示高度是1.99,是因为给它设置了边框,上下边框加起来正好2px,...relative(相对定位)       相对定位是相对于该元素在文档流中原始位置,即以自己原始位置左上角为参照物。...可以将元素设置成relative,不设置任何top、left、right、bottom等,它还是原来位置 absolute(绝对定位)       定义:设置为绝对定位元素框文档流完全删除,也会有父级标签塌陷问题...在理论上,被设置为fixed元素会被定位于浏览器窗口一个指定坐标,不论窗口是否滚动,都会固定这个位置。       示例代码: <!

1.8K10

不可思议纯CSS导航栏下划线跟随效果

其实即便借助 Javascript ,第一反应也是,感觉很麻烦啊。所以我一直在想,有没有可能只使用 CSS 完成这个效果呢?...同理,当导航右侧 li 移向左侧 li,下划线右往左移动。 实现需求 第一眼看到这个效果,感觉这个跟随动画,仅靠 CSS 是不可能完成。...如果只用 CSS 实现,只能另辟蹊径,使用一些讨巧方法。 好,下面就借助一些奇技淫巧,使用 CSS 一步一步完成这个效果。分析一下难点: 宽度不固定 第一个难点, li 宽度是不固定。...现在还剩下一个最难问题: 如何线条跟随光标的移动动作,实现当导航左侧 li 移向右侧 li,下划线从左往右移动。同理,当导航右侧 li 移向左侧 li,下划线右往左移动。...完整DEMO可以戳这里: CodePen Demo -- 不可思议CSS光标下划线跟随效果[1]

1.5K20

【CSS】828- 纯CSS导航栏下划线跟随效果

其实即便借助 Javascript ,第一反应也是,感觉很麻烦啊。所以我一直在想,有没有可能只使用 CSS 完成这个效果呢?...同理,当导航右侧 li 移向左侧 li,下划线右往左移动。 实现需求 第一眼看到这个效果,感觉这个跟随动画,仅靠 CSS 是不可能完成。...如果只用 CSS 实现,只能另辟蹊径,使用一些讨巧方法。好,下面就借助一些奇技淫巧,使用 CSS 一步一步完成这个效果。分析一下难点: 宽度不固定 第一个难点, li 宽度是不固定。...现在还剩下一个最难问题: 如何线条跟随光标的移动动作,实现当导航左侧 li 移向右侧 li,下划线从左往右移动。同理,当导航右侧 li 移向左侧 li,下划线右往左移动。...最后 本方法最大瑕疵在于一开始进入第一个 li 时候,线条只能是右往左,除此之外,都能很好实现跟随效果。 好了,本文到此结束,希望对你有帮助

2.8K20

前端入门4-CSS属性样式表声明正文-CSS属性样式表

这个标准文档流布局方式就是按照解析 HTML 文档元素顺序,页面顶部开始,从上到下,从左到右,解析一个元素就绘制一个元素,解析时碰到是行内元素,就忽略宽高,允许并排布局绘制,碰到是块级元素,...float 浏览器绘制这个网页时,按照文档流顺序,先在网页第一行左边开始处理 div1 元素,发现一个浮动元素,则将其抽离到另一个层面,浮动在文档流上面。...然后继续处理 div2 元素,因为之前处理 div1 元素是浮动元素,不占用文档流,所以此时仍旧是在第一行左边绘制 div2 元素,发现它是一个块级元素,所以其霸占一整行。...而如果我们浮动元素之后元素另起一行,从新位置开始布局,那么就要进行浮动清除。...应用场景: 微调 后代元素可以使用绝对定位 通常都是用来给后代使用绝对定位,因为固定定位绝对定位都会导致该元素文档流中脱离,就像浮动元素那样,不再占用文档流坑位。

1.6K30

85.精读《手写 SQL 编译器 - 智能提示》

2 精读 语法解析、智能提示 SQL 编辑器封装三个层次来介绍,这三个层次就像俄罗斯套娃一样具有层层递进关系。 为了更清晰展现逻辑层次,同时满足解耦要求,笔者先从智能提示整体设计架构讲起。...灰色部分是已经匹配成功部分,而我们发现光标位置前一个 Token 正是红色标识 word,通过尝试运行推导,我们发现,桔红色标记 ',' 'from' 都是 word 可能下一个确定单词,这种单词就是...非关键字: 针对非关键字,我们解决方案用特殊字符串补充类似,但也有不同: 在光标位置插入一个新 Token,这个 Token 类型是特殊光标类型”。...-> 编辑器插件 这样逻辑层次清晰,解耦,而且可以任意节点切入,进行自定义,比如: syntax-parser 开始使用 最底层开始使用,也许有两个目的: 上层封装 sql-parser 不够好用...sql-parser 不仅可以生成语法树,还能找到当前光标位置所在语法树节点,找到 SQL 某个语法返回所有字段列表等功能,基于,甚至可以做 UI 与 SQL 文本互转应用。

3.9K30

高仿Android「填空题」控件:手撸一个炫酷View动效!

要求可以普通TextView一样展示普通文字,同时又包含可以编辑部分,类似EditText。如下: ? 看到这个,第一反应就是,这不合理啊,又是展示,又是可编辑,又是换行,没办法实现啊!...当我们检测到触摸碰撞时候,我们就可以根据这个时候触摸点x坐标,以及文字长度去判断光标位置。具体如何实现呢?我们最简单情况来实现。...光标结束位置x坐标起始位置相同,y坐标则为其实坐标加上文字高度 3)考虑多类型输入时光标位置 当输入文字包含汉字、英文、数字时,由于英文/数字占位比汉字小,此时,如果按照汉字单字来计算光标所在文字索引...自定义控件嘛,每个人去实现时候,都会有不一样做法,比如上面计算光标实际位置方法,肯定会有不同更好方法。所以,了解实现思想可借助工具方法即可,没必要太过较真。...五、总结 1.一个复杂控件往往都可以通过拆解,拆分为一个个简单功能。 2.最简单功能开始实现,你会更有信心。 3.不要放弃,一定有实现方法。

1.6K30

带你入门HTML+CSS网页设计,编写网页代码思路

--HTML-->这是第一个网页BODY标签表示网页主体元素容器,包含了网页所有的html标签如:文本、图片、列表等等。...h2属于标题标签,h1到h6都可以自定义,一般网页标题或者需要着重表现都可以用,p标签表示段落或者一段文字介绍,img标签表示页面中图像,你可以直接引入图片地址,注意,它是一个单标记。...那么知道了这些标签意义,我们就可以根据自己实际需求给这段html代码定义css样式,首先,给整个区域限制一个高度宽度,那么我们就应该这样写:div...#ff0000; /*这里给一个红色字体颜色*/ text-align: center; /*居中*/}文字介绍标题差不多,就是字体小一点,注意是需要给段落定义一个行高,调整段落之间间隔。...*/}最后图片就更简单了,直接自适应宽度,跟随div,设置一个100%。

1.1K40

一个创建产品动画说明视频新手指南

你可以在这里下载文件跟随。让我们开始吧… 1.Photoshop导出 尝试使一切都是偶数尺寸并将每一部分你想其动起来放在单独一层。...使播放头(较大蓝色,向下箭头,您可以像在视频上一样第二个标记拖动到左侧)为零,单击不透明度左侧秒表,然后通过键入将值设置为0%或单击并拖动标记直到其达到零。 ?...然后将其项目窗格拖放到预览窗口(如果您愿意的话)。 ? 我们需要把这个资源设置看起来更可信。需要更小,所以向大家介绍一下比例属性,更重要是显示锚点。...在该动画框架上,单击Position(位置)左侧菱形。这将创建一个关键位置新关键帧。向前走一秒钟左右,并将光标拖到合成物外。 当你预览时,应该看起来这样: ?...当我们在,按command+option+F(或ctrl + alt + F)调整您动画到新合适大小。预览时 应该与以前一样,只是缩小。 使用关键帧来缩放大小位置

2.9K10

图形编辑器开发:自定义光标

大家好,是前端西瓜哥。 今天来讲讲如何在图形编辑器中使用自定义光标,并对光标其进行管理。...(希望在 Windows 系统看到 MacOS 光标) 如何支持自定义光标 没有光标,我们自己造。 好在 cursor 是支持自定义光标的。 具体用法如下。...此外,AutoCAD 光标并不忠实跟随操作系统光标,比如有时候会吸附于某点不动,并基于位置显示下拉菜单,此时可以用真正光标去点选。...考虑到性能,建议把光标放到另一个 canvas 上,图形放一个 canvas 会画布中没做任何操作图形频繁重绘。 结尾 总结一下。...这类图形编辑器光标往往可以自定义,且可以非常大,或是它们在某些场景下会脱离鼠标的控制,喜欢特立独行,比如突然吸附到某个吸附点上。缺点是实现比较复杂,你可能需要管理图形一样去管理

24320

编辑器VSCode使用心得

vscode有一个很好卖点,就是支持中文,这是广大开发者福利 vscode很多编辑器一样通过扩展插件来完善自己功能 vscode常用插件介绍 安装插件有个重要参考指标,就是下载量 ?...下载量是受欢迎程度一个参考指标,通常情况下1M以下下载量都会慎重考虑, ⚠️:插件不是装越多越好,有的插件间会有冲突,插件装太多,会编辑器变得卡顿, 也就是说,在最好用,最受欢迎插件里面挑选你最需要...帮助您通过Git blame注释代码镜头直观地看到代码作者,无缝地导航探索Git存储库,通过强大比较命令获得有价值见解,等等。...ESLint 截止目前下载量:15M 这个不需要介绍了吧,代码格式校验,支持自定义配置,错误是红色波浪线,警告是绿色 JavaScript (ES6) code snippets 截止目前下载量:2.9M...0为光标的最终位置,1,2,3...决定了光标的顺序位置; default name是默认值,可按下Tab不编辑直接跳过。

1.4K30

Unity基础系列(二)——构建一个视图(可视化数学)

重复实例化定位代码,然后将乘法添加到新代码中。 ? 可以把结构体和数字相乘吗? 通常是不能,但是可以定义这样功能。这需要通过创建一个具有特殊语法方法来完成,因此就可以调用乘法一样调用它。...如果我们使用更多更小立方体,效果就会好很多。 2.1 定义分辨率 解决固定立方体数量,就是变为可配置。要实现这个目的,就给Graph增加一个字段用来定义立方体数量。 ? ?...(自定义Shader文件) 我们现在有一个着色器资源,可以打开脚本一样打开。我们着色器文件包含了一些定义表面着色器代码,使用语法与C#语法不同。...(使用XY坐标上色) 红色加绿色变成黄色,所以我们图表目前浅绿色变成黄色。如果Y坐标?1开始,我们也会得到深绿色颜色。要想看效果的话,请更改Graph.Awake中代码,以便显示函数。...在这个例子中,长度等于分辨率。 ? 现在,可以在数组中填充对点引用了。访问数组元素方法是将其索引写入数组字段或变量后面的方括号中。对于第一个元素,数组索引从零开始,就像循环迭代计数器一样

2.7K10

【魔改bkui】使用bkui过程中抓马瞬间

“魔改”支持自定义输入select 前情提要 我们需要做一个非运维类内部工具,其中有个这样需求: “下拉框,有固定选项,并需要支持自定义输入” 听起来挺平平无奇对吧,在bkui中快速找到了满足需求...此时我们可以试着剥洋葱一样,把这个组件剥开。...至此,我们这个朴实无华需求 “下拉框,有固定选项,并需要支持自定义输入”,就算正式完成啦。...篇幅有限,本篇文章主要分享一个组件“魔改”方案,不知道大家在开发自己SaaS时会不会遇到和我一样“抓马瞬间”呢,欢迎一起交流讨论呀~ 一些碎碎念 作为一个运维小姐姐,在从学生转变到职场打工人后,开始接触蓝鲸了...“花里胡哨”SaaS工具时,开始寻找一些不同风格UI,希望风格变更加多样化,用户有一个继续使用第一印象。

32610

Android如何自定义EditText光标与下划线颜色详解

前言 最近在写些小Demo复习基础,在用到EditText时候突然发现之前几乎没有注意到光标下划线颜色,于是花了不少时间,看了不少博客,现在就来总结分享一下收获,话不多说了,来一起看看详细介绍...layout_width="match_parent" android:layout_height="wrap_content" / </LinearLayout 运行工程,仔细观察可以看到光标下划线都是粉红色...现在就让我们循序渐进,先修改光标颜色。 ? 2、自定义光标颜色 EditText 有一个属性:android:textCursorDrawable ,它就是用来设置光标样式。...EditText是一个输入框,我们可以这样理解:下划线无非就是给输入框下边框加一条线这个用Android中layer-list(图层)就可以做到。...运行,就可以看到一模一样效果了。 7、后记 文章至此就结束了,但是要学东西还有很多,文章里某些知识出于我个人理解,可能会有不足或者错误,欢迎大家指正!

5.2K51

UIKit Dynamics:抛出视图 —《Graphics & Animation系列三》

红色蓝色方块表示图片做动画UIKit动态物理引擎点:蓝色方块表示触摸开始位置红色方块会在手指移动时跟踪。...,下面开始动起来。...// 将锚点附加到视图就像安装一个将锚点连接到视图上固定附件位置不可见杆。...注意视图不仅仅是在屏幕上进行旋转; 如果您在图像某个角落开始手势,则由于锚点缘故,视图会随着手指移动而旋转。 但是,当完成拖动时,将视图恢复到原始位置会更好。...现在拖动图像后,应该恢复到原始位置。 UIPushBehavior 接下来,我们需要在停止拖动时分离视图,并为其提供动力,以便在运动中释放视图时可以继续其轨迹。

1.1K20

CSS3 属性选择器 伪类选择器 盒模型 圆角 阴影 CSS定位浮动

即111、333红色。 ---- 第三部分:其他选择器 ---- 伪类选择器 伪类动态选择器,觉得就是一个HTML元素在点击之前、之后、点击瞬间悬停这四种情况临时样式。...当然这更加适合超链接,在一个网页超链接上,点击前后样式可能不一样,当然这里只是展示一下语法,可以把下面的改成。...,感觉就是HTML模块那里,选出我们要作用HTML元素。...那么问题来了,如果三个在同一行显示,如何实现? ---- 先来解释一下CSS定位概念,也就是说你一个HTML元素在网页哪里? 自动定位:默认定位方式。...(设置偏移值方法   top:20px;left:20px; ) 绝对定位:相对于父组件位置(要求父组件也是绝对定位,否则再往上找) 固定定位:相对于浏览器窗口()而言位置 position

13120

前端之CSS内容

例如: div, p { color: red; } 上面的代码为div标签p标签统一设置字体为红色。...关于浮动两个特点: 浮动框可以向左或向右移动,直到外边缘碰到包含框或另一个浮动框边框为止; 由于浮动框不在文档普通流中,所以文档普通流中块级框表现得就像浮动框不存在一样。...6.2 relative(相对定位)   相对定位是相对于该元素在文档流中原始位置,即以自己原始位置为参照物。有趣是,即使设定了元素相对定位以及偏移值,元素还占有着原来位置,即占据文档流空间。...6.3 absolute(绝对定位)   定义:设置为绝对定位元素框文档流完全删除,并相对于最近已定位祖先元素定位,如果元素没有以定位祖先元素,那么位置相对于最初包含块(即body元素)。...在理论上,被设置为 fixed 元素会被定位于浏览器窗口一个指定坐标,不论窗口是否滚动,都会固定这个位置。 示例代码: <!

5.2K100

如何使用纯 CSS 制作四子连珠游戏

为了获得更好用户体验,希望交互区域可以更大一些,所以合理做法是让玩家点击一个列来移动圆盘。通过在合适元素上添加绝对相对位置将同一列控件相互叠加。这样,在每一列中只能选择最下面的圆孔。...最初,红色按钮被覆盖在黄色按钮上,然后容器宽度变化会导致红色按钮“消失”,显示黄色按钮。可以将其比作现实中有两个窗格滑动窗口,一个窗格是固定(黄色按钮),另一个是可滑动红色按钮)。...你说得对,计数器值在 '1' '111' 之间交替变换也是可以。尽管如此,罗马数字最先给了我启示,它们也是点击器标题不错方式,所以我保留了它们。 ? 红色玩家开始,然后轮流游戏。...在原始宽度容器中,红色 input 位于黄色 input 之上,而在双宽度容器中,红色 input 被移开。...尽管如此,认为演示代码还是比较短应该是在中间某个地方,硬编码一个选择器到使用 4 个神奇选择器(列,行,两个对角线)。 ? 当有玩家获得胜利就会显示一条信息。

1.9K20
领券