收藏
回答

安卓系统和IOS中对canvas相关文本展示不同


这是IOS  支持文本换行符,


这是安卓系统不支持换行符?

请求解决意见,急急急....急急如意令

回答关注问题邀请回答
收藏

1 个回答

  • 邱一欢
    邱一欢
    2019-03-08


    手动写代码判断 换行。


    2019-03-08
    有用
    回复 2
    • 邱一欢
      邱一欢
      2019-03-08

      this.CalculateText=function(text,width)

          {

              var aryText=[];

              var outText='';

              var word=null,preWord=null;

              for(var i=0;i<text.length;++i)

              {

                  word=text[i];

                  if (word=='\r') //换行

                  {

                      aryText.push(outText);

                      outText = '';

                  }

                  else if (word=='\n')

                  {

                      if (preWord!='\r'//\r\n 不处理

                      {

                          aryText.push(outText);

                          outText = '';

                      }

                  }

                  else

                  {

                      outText+=text[i];

                      var textWidth = this.Canvas.measureText(outText).width;

                      if (textWidth>=width)

                      {

                          aryText.push(outText);

                          outText='';

                      }

                  }


                  preWord = word;

              }


              if (outText.length > 0) aryText.push(outText);

              console.log('[ISharePainting::CalculateText]', aryText)

              return aryText;

          }


      2019-03-08
      回复
    • 2019-03-08回复邱一欢

      嗯嗯 有思路了。

      2019-03-08
      回复
登录 后发表内容