2017-01-06 2 views
0

Gibt es eine Möglichkeit, einige Text Fett von einem statischen Layout zu machen? Ich versuche, ein Regierungsdokument zu drucken, so dass ich StaticLayout mit folgendem Code verwendet habe, um Text auf Canvas festzulegen.Machen Sie einige Text fett in StaticLayout in android

TextPaint mTextPaint=new TextPaint(); 
mTextPaint.setTypeface(Typeface.createFromAsset(context.getAssets(),"fonts/times.ttf")); 

    StaticLayout mTextLayout; 
    canvas.save(); 

mTextLayout = new StaticLayout(getText(), mTextPaint, pageInfo.getPageWidth()/2-otherPadding*3, Layout.Alignment.ALIGN_NORMAL, 1.0f, 1.0f, true); 
translate(textX, textY); 
draw(canvas); 
.... 

Wo getText() Methode den String zurückgibt, die ich wie unten angegeben drucken möchten.

String getText() 
{ 
    return "Name and complete address of Genetic Clinic/Ultrasound Clinic/Imaging centre : "+hospital.getName(); 
} 

Also hier möchte ich Krankenhausname nur fett machen.

Antwort

0

Sie können Text fett entweder in Hinsicht machen:

Wenn Sie anrufen setTypeface() Sie auch den zweiten Parameter übergeben können: mTextPaint.setTypeface(Typeface.createFromAsset(context.getAssets(),"fonts/times.ttf"), Typeface.BOLD);

oder in Ihrem xml

android:textStyle="bold" 
+0

Ich möchte nicht alle Text fett machen, stattdessen möchte ich nur ** Krankenhausname ** nur fett machen. – sodhankit

0

Dies sollte helfen:

<string name="hospital message">Name and complete address of Genetic Clinic/Ultrasound Clinic/Imaging centre : <b> %1$s </b></string> 

und dann:

Resources res = getResources(); 
String text = String.format(res.getString(R.string.hospital_message), hospital.getName()); 
+0

Es funktioniert nicht für das statische Layout – sodhankit

Verwandte Themen