`
wgcode
  • 浏览: 593910 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

表情聊天的实现原理——深入TextField编程

阅读更多

花了一点时间对一个看似简单的TextField做了一些了解,发现这个对象其实并不简单。

对于TextField,Adobe有一些秘密并没有公开。比如:flash.text.TextRun类,flash.text.TextFormatDisplay
类。还有几个未公开的TextField方法:

function getRawText() : String
function getTextRuns(beginIndex : int, endIndex : int) : Array
function getXMLText(beginIndex : int, endIndex : int) : String
function insertXMLText(beginIndex : int, endIndex : int, richText : String, pasting : Boolean) :

 

不过随着Fp10时代的到来,这些已经开始无关紧要了。因为新的flash.text.engine为我们带来了更多的惊喜。这些没有公开的类将会由新的内容来替代。

不过因为目前在开发上fp9下的AS3还是主流,所以我们的奇都项目(www.qdooo.com)中的表情聊天还是使用TextField类来开发的。如果希望了解FP10新的文本引擎不妨去看一下新的flash.text.engine类,或者去下载一个adobe做好的组件textlayout去了解一下如何利用新的框架来做文本编程。

做好的表情聊天效果:

 

 

演示文件下载:talkWithFace.swf

 

步骤讲解:(先列个目录)

1、我们的需求
2、TextFild的局限
3、替换的技巧
4、新的问题
5、让文本和表情一起滚动。

 

用flash做的这个,可能跟你的flex情况不一样。原理是:把表情代码提出出来,替换成几个空格,然后把表情swf放到textfield上面。你参考下,在目前来说,我看到别人的基本上也都差不多,标准完整让人满意没bug的没见过。

 

分享到:
评论

相关推荐

    IOS应用源码——textField.rar

    【标题】:“IOS应用源码——textField.rar”指的是一个与iOS应用程序相关的源代码压缩包,主要涉及的内容是UITextField类的实现。UITextField是苹果iOS SDK中的一个核心组件,它用于在用户界面中显示和编辑单行文本...

    IOS应用源码——让键盘消失textField.zip

    这个"IOS应用源码——让键盘消失textField.zip"是一个示例项目,展示了如何在用户点击屏幕其他区域时隐藏键盘,以提供更流畅的用户体验。 首先,我们需要理解UITextField。UITextField是iOS SDK中的一个UI组件,...

    iOS——可限制最大字符的textfield

    标题提到的“iOS——可限制最大字符的textfield”就是一个这样的解决方案。 这个解决方案可能包含以下几个关键功能: 1. **最大字符限制**:通过监听`UITextField`或`UITextView`的`textDidChange`事件,我们可以...

    IOS应用源码——让键盘消失textField.rar

    标题"IOS应用源码——让键盘消失textField.rar"和描述暗示了这是一个关于如何在iOS应用中隐藏键盘的源代码示例。在这个项目中,开发者可能实现了一种机制,当用户点击屏幕其他区域或按下特定按钮时,可以便捷地隐藏...

    基于TextField的图文混编的组件

    基于TextField的图文混编组件是一种解决方案,它利用了Adobe Flash(ActionScript 3,AS3)中的TextField类来实现这一功能。TextField在Flash中是一个基础的文本显示和编辑控件,它可以处理简单的文本输入,但通过...

    文本编辑器-textField实现

    在“文本编辑器-textField实现”项目中,我们关注的是如何扩展`TextField`的基本功能,以实现类似富文本编辑器的效果,包括换行、空格、文字格式化(如加粗)、颜色设置、字号调整以及字体选择。 首先,我们需要...

    AS3聊天表情即图文混排

    聊天表情的实现则需要将表情图像转换成位图数据,然后在TextField中插入。这可以通过BitmapData类完成。首先,你需要加载表情图片,将其转换为BitmapData对象,然后使用TextField的appendText()方法添加文本,并使用...

    代码实现Lable 、textField创建界面以及键盘的处理

    本教程将专注于使用代码实现Label和TextField来构建UI,并探讨如何处理键盘的显示与关闭。我们将结合`LTFDemo`这个示例项目进行讲解。 首先,让我们了解Label和TextField的基本概念。Label(标签)是用来展示静态...

    ios-实现textview和textfield的联动.zip

    在iOS开发中,实现TextView和TextField的联动效果,通常是用于创建类似即时通讯应用中的输入框交互体验,如QQ或微信的聊天界面。这种效果让用户在输入文字时,能够无缝地在TextField(通常用于输入短暂、单行的文字...

    TextField使用小惊奇

    在本文中,我们将深入探讨`TextField`如何实现多行输入,即自动换行的功能,并揭示一个小小的惊喜——只需导入一个字体文件就能为用户带来独特的交互体验。 首先,`TextField`在Android中的主要功能是提供一个单行...

    QML-TextField-Completer.zip

    在QML(Qt Quick)中,`TextField`是用于用户输入文本的基本组件,而`Completer`则是一种增强用户体验的功能,它可以提供输入...通过深入理解QML和`Completer`的工作原理,你可以构建出更加灵活和用户友好的输入体验。

    ExtJs5 去掉textfield边框

    在ExtJs5中,开发人员有时需要自定义UI以满足特定的设计需求,比如去掉`textfield`组件的边框。在给定的描述中,我们看到开发者遇到了一个问题:...当然,实现过程中应遵循良好的编程实践,保持代码整洁且易于维护。

    ios 类似于即时聊天界面的输入发送TextField工具条,可以随键盘的显示和输入法切换导致的键盘高度变化而自动变化TextField的位置。

    在iOS开发中,创建一个类似于即时聊天界面的用户体验是非常常见的需求。这个界面通常包含一个`UITextField`,用户可以在其中输入文字,并有一个发送按钮来提交他们的消息。为了提供良好的用户体验,这个`UITextField...

    textField的一个简单例子

    通过分析这个示例,你可以更深入地理解如何在实际应用中处理键盘与`textField`的交互问题。同时,这也是提高用户在移动设备上输入体验的一种常见方法。记得在实践中不断试验和优化,以找到最适合你应用的解决方案。

    带警示效果的TextField、改变光标起始位置

    通过查看源代码和运行示例,我们可以更深入地理解这些特性的实现原理,并能将其应用到自己的项目中。 总的来说,带警示效果的TextField和可调整的光标位置是提升用户交互体验的关键要素。通过理解和运用这些技术,...

    TextField-InputView, UITextField InputView模式:终结注册类、信息采集类.zip

    `TextField-InputView`项目就是基于这个特性进行深入实践的开源库,它的目标是终结传统注册类以及复杂的信息采集类,让开发者能更便捷地定制输入视图。 `UITextField`的`inputView`属性通常用来替代系统默认的键盘...

    ios keywoard自适应textField高度

    总结一下,实现“ios keyword 自适应 textField 高度”主要涉及理解UITextField的属性和行为,设置背景图片,监听并响应文本变化,以及合理使用Auto Layout来管理多个文本框的布局。通过这些技巧,我们可以创建出...

    Ext表单组件之textField

    通过阅读源码,我们可以了解textField组件的内部工作原理,如如何处理用户输入、验证规则的实现方式以及与父组件的交互逻辑等。 六、工具支持 在开发过程中,利用开发工具如Chrome开发者工具或Firefox的Firebug,...

    Java中TextField类.pdf

    在GUI编程中,`TextField`是一个非常常见的元素,它允许用户输入和编辑一行文本。以下是对`TextField`类的详细解释: ### 1. 构造方法 `TextField`类提供了几个构造方法来初始化组件,每种方法都有不同的用途: -...

    手工创建TextField

    在iOS开发中,`UITextField`是用户界面中最常见的元素之一,用于接收用户的文本输入。它在Swift中的使用广泛,尤其在构建表单、搜索栏等场景下...在实际编程中,不断实践和探索,将使你对`UITextField`有更深入的理解。

Global site tag (gtag.js) - Google Analytics