设置字体

来源:互联网 发布:app刷量软件 编辑:程序博客网 时间:2024/05/01 11:36

Custom font in Styles<style name="TextViewCustomFont"><item name="fontPath">fonts/RobotoCondenses-Regular.tt></item></Style>Custom font defined in Theme<Style name="AppTheme"     parent="android:Theme.Holo.Light.DarkActinBar"><item name="android:textViewStyle">@style/AppTheme.Widget.TextView></item></Style><style name="AppTheme.Widget"/><style name="AppTheme.Widget.TextView"   parent="android:Widget.Holo.Light.TextView" ><item   name="fontPath">fonts/Roboto-ThinItalic.ttf></item></style>上面的Styles配置,可以方便地把应用内所有TextView的字体配置为Roboto-Thinltalic  (需要字体文件支持)。但是需要对Activity做一些Wrap@Overrideprotected void attachBaseContext(Context newBase){super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase));}//实战:第一种方法先下载字体文件放入assets文件下面然后在style里面进行条目设置//系统字体进行替换<item name="android:typeface">serif</item> 在Application里面写TypeFaceYaHei = Typeface.createFromAsset(getAssets(), "fonts/scyahei.ttf");    try      {          Field field = Typeface.class.getDeclaredField("SERIF");          field.setAccessible(true);          field.set(null, TypeFaceYaHei);      }      catch (NoSuchFieldException e)      {          e.printStackTrace();      }      catch (IllegalAccessException e)      {          e.printStackTrace();      }  在xml里面设置字体的Style,就可以用了上面这种是单独设置的第二种方法是一起设置在Application里面public static void setType(TextView tv, String text){ if(null==manager){ manager = MyApplication.getContext().getAssets(); } if(null==tf){ tf= Typeface.createFromAsset(manager, "fonts/scyahei.ttf"); } tv.setTypeface(tf); tv.setText(text); }在每个Activity里面进行调用


0 0
原创粉丝点击