zoukankan      html  css  js  c++  java
  • 【咸鱼教程】可自动滚动的聊天文本框

    教程目录 
    一 演示效果
    二 实现原理
    三 代码
    四 Demo下载


    一 演示效果
     


    二 实现原理

    Scroller + Label实现
     


    Label动态高度,随着输入文本增加而增加。
    每输入一行,则将Scroller的视口viewport垂直位置scrollV对齐到Label底端。

    三 代码


    exml
     

    代码

    [Actionscript3] 纯文本查看 复制代码
    01
    02
    03
    04
    05
    06
    07
    08
    09
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    /**
     * 主页场景
     * @author chenkai
     * [url=home.php?mod=space&uid=81950]@since[/url] 2017/4/20
     *
     * 实现可自行滚动的聊天文本框
     */
    class HomeScene extends eui.Component{
            private chatLabel:eui.Label;          //聊天记录
            private inputLabel:eui.EditableText;  //输入文本
            private okBtn:eui.Rect;               //确定
            private chatScroller:eui.Scroller;    //聊天记录滚动容器
     
            public constructor() {
                    super();
                    this.skinName = "HomeSceneSkin";
            }
     
            public childrenCreated(){
                    this.okBtn.addEventListener(egret.TouchEvent.TOUCH_TAP, this.onOkTouch, this);
            }
     
            private onOkTouch(){
                    //显示聊天记录
                    if(this.chatLabel.text != ""){
                            this.chatLabel.text +=  " " + this.inputLabel.text;
                    }else{
                            this.chatLabel.text +=  this.inputLabel.text;
                    }
                     
                    //文本高度大于滚动容器高度时,将视口置于文本最后一行
                    if(this.chatLabel.height > this.chatScroller.height){
                            this.chatScroller.viewport.scrollV = this.chatLabel.height - this.chatScroller.height;
                    }
     
                    //清空输入文本
                    this.inputLabel.text = "";
            }
    }



    Demo下载

  • 相关阅读:
    mac 卸载 node并重新安装
    最小的Django应用
    Python如何实现文本转语音
    Python语言库pyttsx3
    大数据资料
    剑指offer(29)最小的K个数
    剑指offer(28)数组中出现次数超过一半的数
    剑指offer(27)字符串的排列
    剑指offer(26)二叉搜索树与双向链表
    JS、JAVA刷题和C刷题的一个很重要的区别
  • 原文地址:https://www.cnblogs.com/gamedaybyday/p/9219933.html
Copyright © 2011-2022 走看看