Android:在膨胀xml文件之前将字体系列设置为textview

时间:2016-08-29 11:58:52

标签: android android-inflate

我希望将font family设置为Textview

但我想在加载xml

之前执行此操作
  

我的代码:

for(int i=0;i++;i<100000){    
    final View addNew = G.inflater.inflate(R.layout.post, null);
    TextView txtTitle = (TextView) addNew.findViewById(R.id.txtTitle);
    txtTitle.setText("" + i);
    txtTitle.setTypeface(Typeface.createFromAsset(context.getAssets(),"tahoma.ttf"));
}

此代码需要15-16秒的时间

但如果我不使用setTypeface需要2-3秒

2 个答案:

答案 0 :(得分:1)

您可以使用绑定。查看link

答案 1 :(得分:0)

如果您不介意使用第三方库,我建议您尝试Calligraphy。您可以在GitHub页面上找到所需的一切,它非常易于使用。

您只需要在Application类和Activity类中进行设置,将字体放在assets文件夹中,然后就可以使用XML中的字体,如下所示:

<TextView
    android:text="@string/hello_world"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    fontPath="fonts/Roboto-Bold.ttf"/>