You can do this by setting pint style to BOLD for specific characters and also the start and end index of the string i.e. to be bold should be known you can do this as-
Suppose the string is
<string name="bold_text">This is the Bold text</string>
Following is the to be done in view class
//create two paints one is regular and another is bold
private Paint mPaintText;
private Paint mPaintTextBold;
private String textToDraw;
// initialize them
mPaintText = new Paint();
mPaintText.setColor(Color.WHITE);
mPaintText.setStyle(Style.FILL);
mPaintText.setTextSize(32f);
mPaintTextBold= new Paint();
mPaintTextBold.setColor(Color.WHITE);
mPaintTextBold.setStyle(Style.FILL);
mPaintTextBold.setTextSize(32f);
mPaintTextBold.setTypeface(Typeface.DEFAULT_BOLD);
textToDraw = getString(R.string.bold_text);
// Now in on draw method of view draw the following text if you are drawing
// text on canvas it means you already have start point let it be be
// startX and startY, index of the bold string be boldStart and boldEnd in
// our case it will be 12 and 16
String normalStartString = mTextToDraw.substring(0, boldStart);
String normalEndString = mTextToDraw.substring(boldEnd);
String boldString = mTextToDraw.substring(boldStart, boldEnd);
Paint.FontMetrics fm = mPaintText.getFontMetrics();
float height = -1 * (fm.ascent + fm.descent);
// drawing start string
canvas.drawText(normalStartString, startX, startY - height, mPaintText);
// drawing bold string
float width = mPaintText.measureText(normalStartString) + startX;
canvas.drawText(boldString, width, startY - height, mPaintTextBold);
// drawing end string
width += mPaintTextBold.measureText(boldString);
canvas.drawText(normalEndString, width, startY - height, mPaintText);