1

複数行として LabelField にテキストを配置しています。これは私が呼んでいる方法です:

public void setFirstName(String fvalue,String lvalue,String date,String lastStatus) 
        {
            _fnameLabel.setText(fvalue+" "+lvalue+"\n"+date+"\n"+lastStatus);
            _fnameLabel.setFont((_fnameLabel.getFont().derive(Font.BOLD, 20, Ui.UNITS_px,
                    Font.ANTIALIAS_STANDARD, Font.COLORED_OUTLINE_EFFECT)));
            _fnameLabel.setMargin(10, 0, 20, 0); //To leave some space from top and bottom
        }

行ごとに異なるフォント (サイズ、スタイルなど) が必要です。1 つのラベルフィールドにマルチフォーマットを含めることは可能ですか? 助けてください。

4

1 に答える 1

2

LabelFieldではそれを行うことはできませんRichTextField。フィールドに使用するオフセット、フォント、およびフォント インデックスの配列を作成する必要があります。少し面倒ですが、特に難しいことはありません。使用したい方法は、

setText(String text, int[] offsets, byte[] attributes, Font[] fonts)

どこ:

  • offsetstext.length()テキストの開始 (0) と終了 ( ) を含む、フォーマットが変更される位置のソートされた配列です。
  • attributesfonts各テキスト領域に 1 つずつ、配列へのインデックスの配列です ( offsets.length == attributes.length + 1)。
  • andfontsは、使用するさまざまなフォントの配列です。

attributes配列には同じ値を複数回含めることができるため、のすべての要素が の非要素の有効なインデックスであるfonts.length限り、何であってもかまいません。attributesnullfonts

于 2012-08-05T05:38:08.613 に答える