我使用TLF佈置字典條目。它工作得很好,但我需要通過在FlowElements上設置樣式屬性來實現更細緻的佈局控制,主要用於水平間距以及獨立於父母的SpanElements上設置填充。TLF - 通過多個容器和換行符流動文本
最有希望的解決方案是將條目的各個元素分隔到不同的容器中,並通過逐漸添加新容器和容器控制器來爲每個新元素添加大小設置爲其內容邊界的文本,以便文本將流入每個新的容器。
這個ALMOST可以工作,但是如果在應該到不同容器的兩段文本之間插入額外換行符,文本將只能正確地流入下一個容器。沒有換行符,容器的大小正確,但不顯示文本。
在這些例子中,我向容器精靈添加了邊框,以便您可以看到它們被繪製的位置。除了換行,文本是完全一樣的。音節字段是ParagraphElement中的SpanElement。發音標籤和文字是另一個ParagraphElement中的獨立SpanElement。
不換行:
隨着 'RAB位' 和 '聲音就像:':與換行符
隨着線突破後 'RAE biht' (事先斷行沒有效果):
正如您所看到的,除非在文本後添加換行符,否則不會顯示發音,但對齊將關閉。換行符的組合似乎沒有正確對齊。
任何想法? TLF中有這些錯誤嗎?我應該嘗試一種不同的方法嗎?我真的希望將所有文本作爲一個單元進行選擇,並且我喜歡TLF提供的更好的渲染和控制,但我也需要佈局靈活性。我認爲有可能我可以像這樣使用換行符和定位偏移量一起破解一些東西,但它肯定不會漂亮(或可維護)。謝謝閱讀。
@TheDarkInl1978這是一篇很棒的文章。感謝您的鏈接。但我認爲你的例子和我試圖做的關鍵區別是固定的和動態的容器大小。在這篇文章中,你用一些常量大小的容器來佈局,然後通過它們流動文本,這似乎工作得很好。但是我想要做的是將文本的特定可變長度部分限制爲相應的獨立,尺寸適當的容器。你有什麼想法來調整你的方法來完成這項任務嗎?謝謝。 – Dane 2010-11-21 19:33:29
對,當然。我已經更新了我的答案。 – TheDarkIn1978 2010-11-21 20:08:10
@TheDarkIn1978感謝您的更新。這與我上面嘗試做的類似,但正如您所看到的,我遇到了很多與文本從容器流向容器不一致的地方。你是說我應該通過建立一個純文本字符串而不是添加FlowElements來做到這一點?我想我可以嘗試的一件事是首先爲每個文本段創建獨立的TextFlows(作爲純文本)以建立容器大小,然後將所有容器鏈接到完整的TextFlow。似乎效率低下,但也許值得一試。 – Dane 2010-11-21 20:55:13