首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android端IM应用中的@人功能实现:仿微博、QQ、微信,零入侵、高可扩展

    ,并与标签的业务数据绑定 所有人都知道文本样式与Spannable有关。...3、保证文本上绑定的数据的安全可靠 当我们把Span绑定到文本上以后,我们需要在文本发生变化时,保证文本和数据的安全性,可靠性,一致性。...有三种做法: 1)普通文本,当标签文本被破坏(删除、插入、追加文本)时,让绑定的数据失效,这就是微信的做法; 2)普通文本,把标签文本作为一个整体,不能对标签内部插入光标,杜绝数据被破坏的情况,这是微博的做法...; 2)光标是一种特殊的选中状态,start与end在同一位置。...运行效果: 5、微信的做法 微信的处理方式要简单一些,他们不禁止在Span覆盖的文本中插入光标,而是当Span覆盖的文本改变后清除Span以及数据。

    2.3K30

    Android富文本开发

    结束后,光标移到插入图片中的最后一行显示; 编辑状态中,图片点击暴露点击事件接口,可以在4个边角位置动态设置一个删除图片的功能,点击删除按钮则删除图片; 连续插入多张图片时,比如顺序1,2,3,注意避免出现图片插入顺序混乱的问题...14.点击图片可以查看大图 编辑状态时,由于图片有空能比较大,在显示在富文本的时候,会裁剪局中显示,也就是图片会显示不全。...对于光标前面的字符串保留,设置给当前获得焦点的EditText(此为分割出来的第一个EditText) 把光标后面的字符串放在新创建的EditText中(此为分割出来的第二个EditText) 在第二个...最后想说的是 对于富文本写帖子,文章,如果写完富文本提交,则可以使用转化成html数据提交给服务器; 对于富文本写完帖子,文章,还有下一步,设置标签,类型,封面图,作者,时间,还有其他属性,则可以使用转化成...参考博客 Android富文本编辑器(四):HTML文本转换:https://www.jianshu.com/p/578085fb07d1 Android 端 (图文混排)富文本编辑器的开发(一):https

    8.5K20

    用Rust和React创建一个富文本编辑器

    简介 在Fiberplane,我们最近遇到了一个有趣的挑战:我们正在使用的富文本编辑器库已经过时了。...我们曾经使用Slate.js——一个很好的编辑器——但是当我们为协作编辑实现我们自己的富文本基元时,我们发现我们自己的基元和Slate的数据模型之间的脱节是一个阻碍因素。...因此,我们确定了一个数据模型,它既有利于我们的协作功能,也有利于为我们在单元格内使用的任何富文本字段提供动力的RTE。在这篇文章中,我们将重点讨论TextCell。...我们创建了fp-bindgen来生成Rust代码和调用它的TypeScript代码之间的绑定关系。 为了适应RTE(当我们还在使用Slate时还不需要),我们不得不自己引入一段逻辑,就是光标管理。...为了在更新我们的数据模型时能够保留用户的意图(OT算法的一个重要方面),最好是了解导致任何变化的互动。但是,如果你试图理解浏览器对DOM在内容可编辑元素中的变化,你最多只能是猜测。

    2.6K133

    【实战】我是如何在输入框实现@ At功能的

    ) 当前需求的拆解 按住shift + @ 的时候,弹出通知列表 选择时 @的用户标签插入当前的光标位置中 生成@的用户标签的规则是:高亮、携带用户ID、一键删除信息、不可以编辑。...、可以做为编辑器使用,由于时间原因并没有深入体会、感兴趣的小伙伴可以看一下以下内容 contenteditable-MDN contenteditable实现编辑器,光标、输入法处理 基于contenteditable...我就就可以做到:随时@ 随时插入的功能拉~ 五、Android、IOS、Web显示多端一致 每个端使用富文本都是不一样的、那我们应该如何做到统一数据统一呢?...获取光标的坐标在文本中的位置 caret-pos 从 textarea、contentedtiable 或 iframe 正文中获取插入符号/光标的位置/偏移量 import { position, offset...这个功能只是在开发中挤出来的、很多东西写的不够好、不够完善,希望本文能帮助您在开发中节约一点时间。也欢迎大家提出踊跃的反馈、希望能与大家共进步,加油~

    2.7K20

    一文学会所有 Android TextView 属性,妈妈再也不担心我的代码写不好了!

    Android 中我们知道有一个使用频率非常高的控件,它就是 TextView,但是它的属性特别多,今天我们就来探究下,它都有哪些属性。...10.android:editable 设置是否可编辑。 11.android:editorExtras 设置文本的额外的输入数据。...省略号显示在开头;”end”——省略号显示在结尾;”middle”—-省略号显示在中间; ”marquee” ——以跑马灯的方式显示(动画横向移动) android:freezesText设置保存文本的内容以及光标的位置...android:selectAllOnFocus如果文本是可选择的,让他获取焦点而不是将光标移动为文本的开始位置或者末尾位置。TextView中设置后无效果。...android:shadowColor指定文本阴影的颜色,需要与shadowRadius一起使用。 android:shadowDx设置阴影横向坐标开始位置。

    1.8K20

    Android TextView 属性大全

    Android 中我们知道有一个使用频率非常高的控件,它就是 TextView,但是它的属性特别多,今天我们就来探究下,它都有哪些属性。...10.android:editable 设置是否可编辑。 11.android:editorExtras 设置文本的额外的输入数据。...省略号显示在开头;”end”——省略号显示在结尾;”middle”—-省略号显示在中间; ”marquee” ——以跑马灯的方式显示(动画横向移动) android:freezesText设置保存文本的内容以及光标的位置...android:selectAllOnFocus如果文本是可选择的,让他获取焦点而不是将光标移动为文本的开始位置或者末尾位置。TextView中设置后无效果。...android:shadowColor指定文本阴影的颜色,需要与shadowRadius一起使用。 android:shadowDx设置阴影横向坐标开始位置。

    2.6K30

    VSCode的10个巧妙技巧

    此外,如果给定命令关联了键绑定,它将显示在键入搜索的下拉列表中。通过这种方式,你可以直接使用快捷方式。 在 VS Code 命令面板中键入以搜索任何命令,包括其键绑定。...VS Code Speech 扩展允许你通过按 Ctrl-Alt-V(或你选择的其他键绑定)直接在编辑器中听写文本。文本转语音引擎完全是本地的,因此它不需要网络连接即可使用。...VS Code 语音扩展在操作中。光标附近的麦克风图标表示扩展程序正在监听输入。 在 VS Code 文档中使用多个光标 在 VS Code 中编辑文档的一种相当神奇的方法是定义多个光标。...没错——你可以一次在文档中的多个位置键入。 如果你按住 Alt 键并单击某个位置,你将放下一个新光标。每个光标都将同时接受相同的键命令——例如,这是一种一次在多行上输入样板文本的便捷方法。...要返回到单个光标,只需按 Escape 键。 VS Code 允许您使用多个光标同时在一个文档中的多个位置处键入。

    15210

    真·富文本编辑器的演进之路-Span的整体性控制

    通过SpanWatcher控制 第二种方案,我们使用普通文本,但是对普通文本增加Span标记,并对这个Span做整体性控制,这种方案复杂一点,要处理的地方也比较多,但是由于它使用的是普通文本,所以在样式上可以和其它普通文本完全保持一致...控制选中 在讲解如何在普通文本中对Span做整体性控制前,我们先来考虑下选择的问题——如何让「整体性Span」的内部无法被选中。 首先,我们要知道,Edittext的光标也是一种Span。...其实,Android的Span不仅功能非常强大,而且也提供了非常完善的管理API,在TextView和Edittext中,我们要监听Text的变化过程,可以使用TextWatcher,它可以在文本发生改变时进行回调...整体性Span」(通过IntegratedSpan来标记)中时,就自动修改Selection的位置,从而实现「整体性Span」中间无法插入光标。...❞ 好了,到此为止,我们又实现了富文本编辑器中的一个非常重要的功能——Span的整体性控制。

    2K30

    可编辑DIV设置光标位置

    平时我们使用文本框input, textarea时,我们有时候需要得到光标的位置或者说设置光标的位置. 但是文本框有个不足,就是不能满足我们插入图片或者其他的一些要求....所以有时候我们使用div来代替文本框. 今天为了搞定设置DI的光标位置.头疼啊,终于可以了,记录一下,网上资料不多. 首先要让DIV启用编辑模式....下面说怎么获取或设置光标位置. 2个步骤 1:获取DIV中的光标位置 2:改变光标位置 var cursor = 0; // 光标位置 document.onselectionchange = function...,实际上我们是在记录cursor的数量. } } 给document绑定光标变化事件。...(); //因为这里死从当前光标开始移动的(好像文本框的是从0算起.)所以我们需要拿到当前光标位置,然后就可以计算出要移动多少位了,这样就可以把光标移动到想要的位置了 r.moveStart

    6.6K40

    富文本编辑器之游戏角色升级ing

    以“Quill编辑器字体高亮的功能”为例——该功能按钮的颜色与光标位置的字体颜色相呼应,从而达到绑定变化的效果,如下图所示: 那么,如果项目中引入的富文本编辑器不提供这样的能力,该如何处理呢?...此时只需要在编辑器中增加光标位置变化的监听OnSelectionChange,获取光标位置的字体高亮颜色,重置按钮UI。 2)SVG图标替换当前的按钮。...具体扩展方案可参考4.1.3控制器扩展一节 关联光标选区 通过光标的位置,确定当前选区对应的数据结构,从而控制特殊状态的切换。怎么确定是否需要关联光标选区呢?...1、新增功能的按钮状态是否与光标位置有关。在自定义工具栏按钮这一步骤中就可以完成关联; 2、新增功能是否需要关联菜单栏显示。...,迁移至项目中,在可控性和扩展性都能得到最大限度的提升;对跨端业务的适配度更高,各端只需一套控制方案,各功能组件分渠道定制即可; 缺点:需要将工具栏中按钮绑定的命令/事件、状态绑定等控制方案转移至新的组件中

    1.4K30

    Linux 命令行文本操作快捷键

    因为我平时用Vim比较多,而Linux命令行绑定的是Emacs的快捷键方式,虽然可以通过在命令行执行set -o vi修改为Vim的快捷键方式,但是这样会影响常用的像Ctrl-p,Ctrl-n等操作,因此我还是打算将这些难记的文本操作快捷键总结下来...,让自己多练习,以后能更熟练地使用。...: 将光标移动到行首,再按一次则光标跳回当前位置 增加和删除 Ctrl-d: 删除光标处的字符,即字符删除 Ctrl-h: 删除光标左边的字符,效果同退格键 Alt-d: 向右删除光标处字符所在单词,保留下一个单词分隔符...注意:如果光标所在位置为标点符号,则删除这个标点符号和跟在它后面的一个单词 Ctrl-w: 删除光标左边的单词,如果当前的光标在单词中间,则删除这个单词在光标左侧的部分 Ctrl-k: 删除光标后面的所有内容...注:这条比较特殊,我在cygwin中测试的时候,需要按Ctrl-SHIFT-_才可以。

    2.3K20

    IntelliJ IDEA使用技巧

    当前窗口替换文本 CTRL+SHIFT+R 在指定窗口替换文本 ALT+SHIFT+C 查找修改的文件 CTRL+E 最近打开的文件 F3 向下查找关键字出现位置 SHIFT+F3...快速打开光标处的类或方法 ALT+ ←/→ 切换代码视图 CTRL+ALT ←/→ 返回上次编辑的位置 ALT+ ↑/↓ 在方法间快速移动定位 SHIFT+F6 重构-重命名 CTRL...CTRL+UP/DOWN 光标跳转到第一行或最后一行下 ESC 光标返回编辑框 SHIFT+ESC 光标返回编辑框,关闭无用的窗口 IDEA最棒的是能将快捷键修改为自己熟悉的IDE风格!!!...安装genymotion插件 genymotion的大名,相信各位Android开发者都听说过。受不了Android官方虚拟机的龟速,大家都应该使用了这个虚拟机。...⊙面试题68(加深你对栈的理解_让你知道什么是栈) ⊙来测试一下你对数据结构中的栈和队列的了解有多少? ⊙面试题63(链表,哈希表) ⊙ 请你对Java中树的了解有多少? ⊙ 这个培训机构怎么?

    1.1K40

    IDEA快捷键整理

    Ctrl + ] 移动光标到当前所在代码的花括号结束位置 Ctrl + F4 关闭当前编辑文件 Ctrl + F8 在 Debug 模式下,设置光标当前行为断点,如果当前已经是断点则去掉断点...对当前打开的文件,使用新Windows窗口打开,旧窗口保留 Shift + F6 对文件 / 文件夹 重命名 Shift + F7 在 Debug 模式下,智能步入。...J 弹出模板选择窗口,将选定的代码加入动态模板中 Ctrl + Alt + H 调用层次 Ctrl + Alt + B 在某个调用的方法名上使用会跳到具体的实现处,可以跳过接口 Ctrl + Alt...,按此快捷键可以直接定位到该类中 (必备) Ctrl + Shift + 左方向键 在代码文件上,光标跳转到当前单词 / 中文句的左侧开头位置,同时选中该单词 / 中文句 (必备) Ctrl + Shift...(必备) F3 在查找模式下,定位到下一个匹配处 F4 编辑源 (必备) F7 在 Debug 模式下,进入下一步,如果当前行断点是一个方法,则进入当前方法体内,如果该方法体还有方法,则不会进入该内嵌的方法中

    15K85

    VIM文本编辑器常用技巧

    简介: VIM编辑器是一个功能强大的、高度可定制化的文本编辑器,其在VI编辑器的基础上拥有了代码高亮在内的多项功能的增加和改进,深受用户的喜爱。...在使用vim命令时,后接可编辑的文件名称即可直接进入vim编辑器的普通模式。...1、进入插入模式 命令 操作详解 a 在当前光标后追加数据 A 在当前光标所在行行尾追加数据 i 在当前光标前追加数据 I 在当前光标所在行的行首输入 o 在光标所在行的下一行打开新行编写 O 在光标所在行的上一行打开新行编写...2、退出vim编辑模式 在编辑模式下,如需退出编辑模式,请先按esc键回到进入文本时的状态,随后使用:加以下操作退出编辑模式。...(请在英文输入法状态下使用冒号) 命令 操作详解 :q 退出(适用于对文件无任何修改) :q! 强制退出,丢弃所做的修改 :wq 保存退出,保留所做的修改 :x 保存退出 :wq!

    1.1K10

    EditText光标不会往后挪动的方法,edittext 禁止点击,点击后没有软键盘;挂载,byte 进制转化,byte中出现负数,EditText属性

    解决EditText在光标位置插入字符串,光标不会往后挪动的方法 keyStr = String.valueOf(keyCode); // keyBoardEt.setText...byte 进制转化 16进制 : 31 是 十进制 :49 ASCII:1; 在数据传输中,byte 是传输的基本形式,在java中转化为流进行数据传输,byte 是16进制的,再转...--设置text与drawable(图片)的间隔, 与drawableLeft、drawableRight、drawableTop、drawableBottom一起使用, 可设置为负数,单独使用没有效果...--设置是否可编辑,默认可以编辑--> android:ellipsize="start" 文本位置,如设置成"center",文本将居中显示--> EditText设置不可点击事件 android:focusable="false" //这是不能点击 android:enabled=

    7200

    Linux——常用命令(2)

    通常结合着“>”重定向符号,用来在文本文件中,添加数据,“>>” 表示追加。...---- 3.vim 三种模式:命令模式、插入模式、末行模式 1. i I a A o O 进入到插入模式 i: 在光标当前位置插入 I: 在光标所在行首插入 a: 在光标所在位置后插入 A: 在光标所在行尾插入...#行  4、行号显示 :set nu在编辑器中显示行号                        :set nonu   取消编辑器中的行号显示  5、删除 x或Del  删除光标处的单个字符                     ...d$   删除当前光标处到行尾的所有字符  6、复制 yy   复制当前行整行的内容到剪贴板         #yy   复制从光标处开始的#行内容  7、粘贴 p 小写    将缓冲区中的内容粘贴到光标位置处之后...               P 大写    粘贴到光标位置处之前  8、查找 /word     从上而下在文件中查找字符串“word”                ?

    26020

    VIM文本编辑器

    一、vim使用介绍 vim介绍 在linux系统中,大部分配置文件都是ASCII的纯文本形式存放的,所以我们在修改系统设置的时候使用简单的文本编辑软件就可以实现了,如果你使用过windows当中的word...但是既然要学习linux,掌握并熟练使用文本编辑工具是必不可少的技能,在linux当中的文本编辑工具有很多,如emacs pico nano joe vi/vim 等等 既然有这么多文本编辑工具,为什么要学习...p 为将已复制的数据在光标下一行贴上,P 则为贴在光标上一行 (常用) J 将光标所在行与下一行的数据结合成同一行 c 重复删除多个数据,例如向下删除 4 行,[ 4cj ],配合上下左右的按键使用...:w [filename] 将编辑的数据储存成另一个档案(类似另存新档) :r [filename] 在编辑的数据中,从指定的文件读取数据并加到光标所在行后面 :n1,n2 w [filename] 将...环境变量与记录 .viminfo:记录用户的行为,之前编辑过的文件光标在什么位置,在这个文件中进行过什么操作等,自动建立 .vimrc:定义vim的默认设置,如是否显示行号等,需要手动生成 :set

    1.6K40

    linux之文本编辑器

    在本章我们向大家介绍Linux上常见的编辑器ed、vi、emacs,同时以vi为例,讲解Linux中的文本编辑,为大家成为优秀的系统管理员打下基础。...【重点内容】 Ø Linux编辑器简介 Ø vi的打开和退出 Ø vi 的三种模式 Ø 在文件中快速移动光标 Ø 在文件中替换和删除文本...Linux虽然现在通用vi来编辑,但也在系统中保留了ed,只是没有人会去用罢了。...4.5 在文件中替换和删除文本 4.5.1 命令模式中的替换命令 将光标定位于文件内指定位置后,可以用其他字符来替换光标所指向的字符,或从当前光标位置删除一个或多个字符。...但Linux中只使用一个换列字符 \n (功能同^J)。所以当Linux的文本文件放到DOS 上用文字编辑器编辑时,会错乱成首尾相连的一行。

    2.2K20
    领券