代码之家  ›  专栏  ›  技术社区  ›  Dane

TLF—在多个容器和换行符中流动文本

  •  0
  • Dane  · 技术社区  · 15 年前

    我用TLF来编排一个词典条目。它工作得相当好,但是我需要对布局进行更细粒度的控制,而不是通过在FlowElements上设置样式属性(主要是水平间距)和在独立于父元素的元素上设置填充来实现。

    看起来最有希望的解决方案是将条目的各个元素分离到单独的容器中,并通过逐步为每个新元素添加新的容器和容器控制器(大小设置为其内容边界),使文本流到每个新容器中。

    无换行符:

    no line break

    “rab bit”和“Sounds Like:”之间有换行符:

    1 break

    “rae biht”后换行(提前换行没有影响):

    2 breaks

    如您所见,除非在文本后添加换行符,否则不会显示发音,但随后会关闭对齐。换行符的组合似乎无法正确对齐它们。

    1 回复  |  直到 15 年前
        1
  •  1
  •   Chunky Chunk    15 年前

    不久前我写了一个Adobe食谱,也许能帮你解决这个问题。基本上,我发现完全放弃使用span和paragraph元素而主要关注容器控制器要容易得多。希望能有帮助:

    Generating a formatted TextFlow Layout for plain text assets


    更新

    targetFlow.flowComposer.getControllerAt(controllerIndex).getContentBounds().width;
    
    //and/or
    
    targetFlow.flowComposer.getControllerAt(controllerIndex).getContentBounds().height;
    

    Automating font size for TextFlow containers

    但是你可以改变容器的大小来适应你的文本,而不是像我所做的那样改变字体大小。