0

Flex 4 とアクション スクリプト 3 を使用して、Android デバイス用のシンプルなテキスト チャット アプリケーションを作成しました。テキスト チャットでは、フォントの色を変更するオプションを指定しました。テキストメッセージの入力には「TextInput」を使用し、チャットメッセージの表示には「Textarea」を使用しました。テキストの色を変更すると、「テキストエリア」の色のすべての行が変更されています。

textoutput.setStyle("color",textInput.getStyle("color"));
textoutput.text += userNameInput.text + ": " + msg + "\n";"

これは私が使用したコードです。しかし、「テキストエリア」のすべての行の色を変更する必要があります。一方、表示チャット用のパネルを作成し、メッセージのラベルを動的に作成し、色を動的に変更しましたが、すべての行が同じ行にマージされています。パネル ウィンドウの動的ラベルごとに改行を追加する必要があります。

var mylabel:Label=new Label();
mylabel.setStyle("color",textInput.getStyle("color"));
mylabel.text += userNameInput.text + ": " + msg +      "\n";
        panelId.addElement(mylabel);"

これは、動的ラベルを Panel に追加するために使用したコードです。この問題のいずれかを解決するためのアイデアを教えてください。それは私にとって非常に役立つはずです。前もって感謝します。

4

1 に答える 1

0

http://help.adobe.com/en_US/as3/dev/WS8d7bb3e8da6fb92f-20050207122bd5f80cb-7ff5.htmlからの役立つ情報を次に示します。

テキスト フィールド内のテキスト範囲の書式設定

flash.text.TextField クラスの便利なメソッドは、setTextFormat() メソッドです。setTextFormat() を使用すると、テキスト フィールドの一部のコンテンツに特定のプロパティを割り当てて、特定のエントリが必要であることをユーザーに思い出させる必要があるフォームや、パッセージのサブセクションの強調を変更する必要があるフォームなど、ユーザー入力に応答することができます。ユーザーがテキストの一部を選択すると、テキスト フィールド内のテキストが表示されます。

次の例では、文字の範囲で TextField.setTextFormat() を使用して、ユーザーがテキスト フィールドをクリックしたときに myTextField のコンテンツの一部の外観を変更します。

var myTextField:TextField = new TextField(); 
myTextField.text = "No matter where you click on this text field the TEXT IN ALL CAPS changes format."; 
myTextField.autoSize = TextFieldAutoSize.LEFT; 
addChild(myTextField); 
addEventListener(MouseEvent.CLICK, changeText); 
var myformat:TextFormat = new TextFormat(); 
myformat.color = 0xFF0000; 
myformat.size = 18; 
myformat.underline = true; 

function changeText(event:MouseEvent):void 
{ 

 myTextField.setTextFormat(myformat, 49, 65); 
}
于 2012-05-28T08:37:33.183 に答える