RichTextEdit mit farbigem Text?
-
02-10-2019 - |
Frage
Wie erstelle ich eine RichTextEdit
mit RIM 4.5 API, dem Text mit mehreren Farben enthält?
Zum Beispiel möchte ich eine RichTextEdit
wie folgt erstellen:
- Der Text ist "Hallo BB Welt"
- "Hallo" sollte blau
- "BB Welt" sollte sein rot
- "BB" sollte
ITALIC
sein
- "Hallo" sollte
BOLD
sein
Das Hauptproblem ist, Farben bekommt, nicht die fett und kursiv.
Ich habe zwingende RichTextEdit.paint
Funktion versucht, aber diese Formate der Farbe der ganzen Reihe, nicht nur einen Teil davon!
Hier ist der Code, den ich implementiert den Text fett und kursiv zu machen und die Farbe überschreibt die gesamte Zeichenfolge Farbe zu ändern:
public final class RichTextFieldSample extends UiApplication
{
public static void main(String[] args)
{
RichTextFieldSample theApp = new RichTextFieldSample();
theApp.enterEventDispatcher();
}
public RichTextFieldSample()
{
String richText = "This is how you create text with formatting!!!";
Font fonts[] = new Font[3];
int[] offset = new int[4];
byte[] attribute = new byte[3];
fonts[0] = Font.getDefault();
fonts[1] = Font.getDefault().derive(Font.BOLD);
fonts[2] = Font.getDefault().derive(Font.BOLD | Font.ITALIC);
offset[0] = 0;
attribute[0] = 2;
offset[1] = 4;
attribute[1] = 0;
offset[2] = 33;
attribute[2] = 1;
offset[3] = richText.length();
RichTextField rtField = new RichTextField
(richText, offset, attribute, fonts,
RichTextField.USE_TEXT_WIDTH) {
protected void paint(Graphics graphics) {
graphics.clear();
graphics.setColor(0x0000FF);
super.paint(graphics);
}
};
MainScreen mainScreen = new MainScreen();
mainScreen.setTitle(new LabelField
("RichTextFieldSample Sample",
LabelField.ELLIPSIS | LabelField.USE_ALL_WIDTH));
mainScreen.add(rtField);
pushScreen(mainScreen);
}
}