首页 > 原创:嵌入图片的HTML内容在FLASH AS3中正确显示的最佳解决方案

原创:嵌入图片的HTML内容在FLASH AS3中正确显示的最佳解决方案

做一个项目,遇到这个该死的问题,尝试了几乎所有解决方法,几近崩溃,终于找到完美解决方案。因为在网上,无论中文还是英文,搜索了无数遍,都没人给出正确答案,所以,在此记下,但愿能帮到跟我一样遇到这个问题的人们。

1,TextField + UIScrollBar方法:

该方法对于普通的HTML没有问题,对于文本就足以显示滚动条的情况,也没有问题,但如果你像我一样,只有一句话介绍,加一个图片,你就会发现,怎么样也无法显示滚动条。图片被切掉一半,原因是Htmltext中的img图片是后载入的,也就是说,你加上scrollbar时,textfield的高度根本不足以显示滚动条。为了解决这个问题,我甚至试过用getimagerefrence方法监听img图片的载入事件,然后重新用uiscrollbar.update来重绘滚动条。但是,很遗憾,理论上行得通的办法,实际上,是没有用的。

2,直接用textarea

textarea实际上就是上面的组合。结果不用说啦,还是没法解决。

3,终极方案:Textfield+ScrollPane

最终的解决方法,是建一个textfield,将其multiline和wordwrap设为true,再将其width设置好,将autosize设置成left,将scrollpane的source指向该textfield。最终,问题终于正常解决。注意:multiline一定要设置成true,不然,你的所有段落都会合并成一段的,这个小故事让我卡了半天才反应过来。下面是我的一小段实现这个功能的AS3代码。

 

ExpandedBlockStart.gif代码
var t_content:TextField=new TextField();

    t_content.x
=0;

    t_content.y
=0;

    t_content.multiline
=true;

    t_content.border
=true;

    t_content.styleSheet
=ContentStyle;

    t_content.width
=box.width;

    t_content.autoSize
="left";

    t_content.condenseWhite
=true;

    t_content.wordWrap
=true;

    t_content.htmlText
=p_content;

    box.addChild(t_content);

    
var aSp:ScrollPane = new ScrollPane();

    box.addChild(aSp);

    aSp.source 
= t_content;

    aSp.horizontalScrollPolicy
=ScrollPolicy.OFF;

    aSp.setSize(t_content.width, 
340);

 

 

转载于:https://www.cnblogs.com/Heroman/archive/2010/08/20/1804120.html

更多相关:

  • 编按:哈喽,大家好!说到将excel中的数据进行排名,大家首先想到就是rank函数,但如果说要按条件对数据进行排名呢?小伙伴们是不是一下子就蒙圈了,似乎还没有听说过按条件进行排名的函数。那么今天,老菜鸟就给大家分享一个在excel中按条件进行排名的公式套路,一起来看看吧!*********​在Excel的函数中,有按条件求和的SUMI...

  • #mysql.properties jdbc.url=jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&autoReconnect=true&failOverReadOnly=false&user=...

  •     在conf/server.xml里面找到: …… 在前插入::

  •   CORS全称Cross-Origin Resource Sharing, 跨域资源共享,是HTML5的一个新特性,已被所有浏览器支持,不同于古老的jsonp只能get请求。 检测方式:   1.curl访问网站     curl https://www.huasec.com -H "Origin: https://test.co...

  • 解决方案:   driver中增加以下2行配置:   "unicodeKeyboard":True, #unicode编码输入   "resetKeyboard":True #隐藏软键盘 转载于:https://www.cnblogs.com/Inbreeze/p/9828568.html...

  • 一、代码结构概览1.核心部分configs:储存各种网络的yaml配置文件datasets:存放数据集的地方detectron2:运行代码的核心组件tools:提供了运行代码的入口以及一切可视化的代码文件。2.Tutorial部分demo:显而易见就是demodocs: 同样显而易见。。tests:提供了一些测试代码projects:...

  •     我刚刚接手这个项目的时候就被一系列不知所措的文件命名给深深的震惊了,那种振聋发聩不亚于听到赌王离世的消息。 首先请看,文件本来是用于处理“请假审批”,但是文件名居然叫做“teaApprove”,不要欺负我的初中英语不好,这个teaApprove我第一个感觉就是和“喝茶、茶叶”有关的业务,可是和我们这个项目八竿子打不着...

  • 这个问题简单,不做过多描述,如题所述,如果因为这个导致错误,请安装 npm install stylus-loader css-loader style-loader -D...

  • 使用这个宏TS_VERSION_MAOR来判断,这个宏定义在编译时生成在apidefs.h,它包含在ts/ts.h中,所以请在插件这包含...

  • linux valgrind Memcheck–内存检查工具 使用方法: 注意,这里要用debug版本,如果是release的运行文件,则用debug编译出来的可执行文件替换 输出到终端: valgrind --tool=memcheck --leak-check=full ./test.out 输出到文件: valgri...

  • 如果本机的环境更换过,项目中用来加密Crypt组件中的参数会变更. 如果出现这个问题,得更换数据库中加密后的变量   stackoverflow上找到的解决方法都是 composer dump-autoload composer clear-cache 之后再清空浏览器缓存   其实最简单的解决方法是将数据库中的所有数据重新encr...

  • 错误1. typedef void * POINTER_64 PVOID64;  解决办法 typedef void *PVOID;typedef void * POINTER_64 PVOID64;在它之前加下:#define POINTER_64 __ptr64 官网给出的解决办法 打开winnt.h文件(这个是vc安装时带的...