您好我想为我的整个应用设置Roboto字体。但登录屏幕中只有1个文本应为Arial字体。可能吗?那怎么样?我试过很多解决方案。但它们都没有效果。请帮帮我。
答案 0 :(得分:0)
它为我工作,我希望它也会帮助你 只需为Roboto字体创建一个类,而不是TextView使用包名称,后跟XML中的类名,并将Roboto字体放在assest文件夹中。 例如
package com.abc.utils;
import android.content.Context;
import android.graphics.Typeface;
import android.util.AttributeSet;
import android.widget.TextView;
/**
* this class is used for set textview font.
* @author abc
*
*/
public class TextViewRoboto extends TextView{
Context context;
String TAG = getClass().getName();
public TextViewEuro(Context context, AttributeSet attrs) {
super(context, attrs);
this.context = context;
init();
}
private void init() {
Typeface font = Typeface.createFromAsset(context.getAssets(), "yourrobotofontfile.ttf");
setTypeface(font);
}
@Override
public void setTypeface(Typeface tf) {
super.setTypeface(tf);
}
}
现在在你的xml中
<com.abc.utils.TextViewRoboto
android:id="@+id/txt_ItemName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#EAA55A"
android:textSize="22sp" />
并且对于登录屏幕中的1个文本,您可以在资产文件夹中使用Arial字体文件来使用Arial字体
TextView tv;
Typeface tfArial = Typeface.createFromAsset(getAssets(), "arial.ttf");
// find the textview id from layout or create dynamically
tv.setTypeface(tfArial);