2012-02-21 4 views
6

Я хочу изменить шрифт моего текстового изображения из Roboto Regular на roboto с конденсированным. TextView находится в виджетах, поэтому я использую RemoteView. Если это приложение, мы можем установить его с помощью typeFace. Что мне нужно для этого?Изменение шрифта от Roboto до Roboto с конденсированным

ответ

3

У меня есть ответ сейчас. Нам нужно сделать шрифт на холсте, а затем передать его на растровое изображение и присвоить его изображению

public Bitmap buildUpdate(String time) 
{ 
Bitmap myBitmap = Bitmap.createBitmap(160, 84, Bitmap.Config.ARGB_4444); 
Canvas myCanvas = new Canvas(myBitmap); 
Paint paint = new Paint(); 
Typeface clock = Typeface.createFromAsset(this.getAssets(),"robonto_condunced.ttf"); 
paint.setAntiAlias(true); 
paint.setSubpixelText(true); 
paint.setTypeface(clock); 
paint.setStyle(Paint.Style.FILL); 
paint.setColor(Color.WHITE); 
paint.setTextSize(65); 
paint.setTextAlign(Align.CENTER); 
myCanvas.drawText(time, 80, 60, paint); 
return myBitmap; 
} 
1

Вы просто используете шрифт. Вот пример

private void setFonts() { // Setting all fonts 
    Typeface face = Typeface.createFromAsset(this.getAssets(), 
      "fonts/DroidSerif-Bold.ttf"); 
    mMonthTextView.setTypeface(face); 
    mAgeTextView.setTypeface(face); 
    mHeightAndWeightTextView.setTypeface(face); 

} 

Вы должны поместить этот шрифт в Assets/шрифты/папку

+0

Я использую RemoteView для виджета. Поэтому я не могу получить текстовое изображение прямо в своем коде. Не можем ли мы напрямую задать тип шрифта в xml? – Kamalone

+0

Я думаю, что это невозможно. Мы можем изменить стиль только жирным или курсивом. Если вы хотите сделать это в xml, вам нужно создать настраиваемое текстовое представление. Но это займет некоторое время. –

Смежные вопросы