Spark RichEditableTextコンポーネントの不思議なテキストのレンダリング動作を誰かが知ることができるのかどうか不思議です。フレックス4のテキストレンダリング:RichEditableTextコンポーネント
<?xml version="1.0" encoding="utf-8"?>
<s:Application
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
creationComplete="handleApplicationCreationComplete()"
>
<fx:Script>
<![CDATA[
import flashx.textLayout.conversion.TextConverter;
private static const DATA:Array =
[
"First sentence. This is a test of text rendering. How's it look?",
"Let's see if this actually works correctly.",
"Add some variety with the <b>bold</b> tag...",
"Throw in a <a href='http://www.example.com'>link</a> as well!",
"Well?! Does it work as expected? I think not..."
];
private var currentIdx:int;
protected function handleNextClick():void
{
currentIdx++;
if(currentIdx >= DATA.length)
currentIdx = 0;
display(currentIdx);
}
protected function handleApplicationCreationComplete():void
{
currentIdx = 0;
display(currentIdx);
}
private function display(idx:int):void
{
contentDisplay.textFlow = TextConverter.importToFlow(DATA[idx], TextConverter.TEXT_FIELD_HTML_FORMAT);
}
]]>
</fx:Script>
<s:layout>
<s:VerticalLayout />
</s:layout>
<s:VGroup width="100">
<s:RichEditableText id="contentDisplay"
width="100%"
enabled="false" mouseEnabled="false"
editable="false" focusEnabled="false"
/>
</s:VGroup>
<s:Button label="Next" click="handleNextClick()" />
</s:Application>
上記アプリケーションは、単にDATA
アレイ(Next
ボタンが押されるたびに)の5つの文をナビゲートします。何らかの理由で、RichEditableText
コンポーネントは、新しいコンテンツを設定する前に、そのビューを完全にリセットしない(前のテキストをクリアすることによって)。私が集めることから、この欠陥のあるレンダリングは何とか行数と相対幅の組み合わせに基づいています。また、RichEditableText
コンポーネントのwidth
プロパティを相対(パーセント、100%
)ではなく絶対値(たとえば、100
)に設定すると、テキストが正しくレンダリングされることも発見しました。
私の知る限り、この動作は意図しきではなく、実際にはバグです。
これは私のために正しく動作していると思います。あるいは、少なくとも私は明らかに間違ったことは見ていない。あなたが見ている悪い行為のスクリーンショットを投稿できますか?どのSDKバージョンを使用していますか? –
コードの動作も見当たらなかった。私もフラッシュプレーヤーのバージョンをチェックします。 –
私はFlex SDK 4.1を使用しています.AdobeのWebサイトによると、Flashplayerのバージョンは10,1,102,64です。私はそれがプレーヤーのバージョンとは何か関係があるとは思わない。私もスクリーンショットを追加しました – Andrey