How to set the color of a text in TextField for Harmony OS?

158 Views Asked by At

How to set the color of a text in TextField? For example, set the "Harmony" font in the "Hello Harmony" field to red The Android code is implemented as follows:

SpannableStringBuilder ssb = new SpannableStringBuilder(); ssb.setSpan(new ForegroundColorSpan(getCurrentHintTextColor()), i, i + 1, 0);

1

There are 1 best solutions below

0
On BEST ANSWER

Can use RichText for Harmony OS, you can achieve the same effect. Please see below screenshot for the sample code, which will set Harmony to red.

    Text text = ComponentHelper.getShapeText( context: this); 
    text.setTextSize(80); 
    
    RichTextBuilder builder = new RichTextBuilder); 
    
    TextForm redForm = new TextForm(); 
    redForm.setTextColor(Color.RED.getValue(0);  
    redForm.setTextSize(50); 
    builder.mergeForm(redForm); 
    builder.addText("Harmony"); 
    
    TextForm blackForm = new TextForm(); 
    blackForm.setTextColor (Color.BLACK.getValue ()); 
    blackForm.setTextSize(60); 
    builder.mergeForm(blackForm); 
    builder.addText("OS"); 
    text.setRichText(builder.build());

RichTextBuilder and TextForm Links are below:

https://developer.harmonyos.com/en/docs/documentation/doc-references/richtextbuilder-0000001054358740

https://developer.harmonyos.com/en/docs/documentation/doc-references/textform-0000001054120081