我在网上看了很多,方法都是把字体文件放在assets的font目录下,但只是用在某一个控件上,我想把自定义的字体用于所有文字,应该怎么设置?求大神提出指导
解决方案 »
- Android中,如何实现类似微信中邮件添加联系人的功能
- andorid下实现串口编程,求教!
- 关于安卓工程转移的简单问题,马上结贴!!!!
- android 无法下载中文文件名的文件?英文名文件正常.
- Android初学者网络编程求助
- 如何用android实现像angry bird小鸟图片一样旋转?
- 关于模拟微信地址
- android开发求解...有没有android开发神啊..
- android sdk location的问题
- ue4打包安卓系统ETC1问题求解决!
- 新手提问关于读取NFC Tag的问题
- 请问html5和java开发android有什么区别,是不是html5流行以后就不用java来开发android了?
我能想到的就是递归遍历当前根View,如果该View的子类为TextView(所有具备text的都是TextView的子类。)类型,则设置该子类View的typeface。 拿Activity来说 :
public void onCreate(Bundle ){ setContentView(R.layout.Xxxx);
recrusiveDecorViewSetTypeface(this.getWindow().getDecorView());
}
//递归树,设置typeface
private void recrusiveDecorViewSetTypeface(View rootView){
//不是ViewParent类型,并且是TextView类型,则设置字体。
if( ! rootView instanceof ViewParent ){
if(rootView instanceof TextView){
((TextView)rootView).setTypeface() ; // 强制转换为TextView,设置typeface
}
return ; //直接返回
}
for( int i = 0 ; i < (ViewParent)rootView.getChildCount() - 1 ; i ++)
{
recrusiveDecorViewSetTypeface(rootView.getChildAt(i)); //递归
}
} 关于自定义View , 只能手动设置Paint属性了。
<resources>
<style name="Theme.MyTheme" parent="@style/Theme">
<item name="android:colorForeground">@drawable/black</item>
<item name="android:colorBackground">@drawable/white</item>
<item name="android:windowNoTitle">false</item>
<item name="android:textStyle">normal</item>
</style>
</resources>