通常Android都有默认的字体大小,但偏偏有的客户不喜欢android默认的字体大小,所以就要在项目代码上重新增加或者修改默认字体的大小。
此笔记仅仅是在MTK方案上所做的修改,可能和其他方案有出入,因仅供参考。
1、一般情况下所做的修改在packages\apps\Settings\res\values\arrays.xml文件中的entryvalues_font_size这个字段,但是这个字段还要和framework层的字段相匹配。
<string-array name="entries_font_size">
<item msgid="6490061470416867723">Small</item>
<item msgid="3579015730662088893">Normal</item>
<item msgid="1678068858001018666">Large</item>
<item msgid="490158884605093126">Extra large</item>
</string-array>
<string-array name="entryvalues_font_size" translatable="false">
<item>0.9</item>
<item>1.0</item>
<item>1.1</item>
<item>1.15</item>
</string-array>
2、在\frameworks\base\core\java\android\content\res\Configuration.java文件查看是否存在与上所对应的字体,若如添加则根据格式添加即可。
/**
* Set this object to the system defaults.
*/
public void setToDefaults() {
if(1==LyDefineSystemProperties.LY_MMI_INT_DEFAULT_FONT_SCALE_TYPE){
fontScale = 1.15f;
}else if(2==LyDefineSystemProperties.LY_MMI_INT_DEFAULT_FONT_SCALE_TYPE){
fontScale = 1.1f;
}else if(3==LyDefineSystemProperties.LY_MMI_INT_DEFAULT_FONT_SCALE_TYPE){
fontScale = 0.9f;
}else{
fontScale = 1;
}
mcc = mnc = 0;
locale = null;
userSetLocale = false;
touchscreen = TOUCHSCREEN_UNDEFINED;
keyboard = KEYBOARD_UNDEFINED;
keyboardHidden = KEYBOARDHIDDEN_UNDEFINED;
hardKeyboardHidden = HARDKEYBOARDHIDDEN_UNDEFINED;
navigation = NAVIGATION_UNDEFINED;
navigationHidden = NAVIGATIONHIDDEN_UNDEFINED;
orientation = ORIENTATION_UNDEFINED;
screenLayout = SCREENLAYOUT_UNDEFINED;
uiMode = UI_MODE_TYPE_UNDEFINED;
screenWidthDp = compatScreenWidthDp = SCREEN_WIDTH_DP_UNDEFINED;
screenHeightDp = compatScreenHeightDp = SCREEN_HEIGHT_DP_UNDEFINED;
smallestScreenWidthDp = compatSmallestScreenWidthDp = SMALLEST_SCREEN_WIDTH_DP_UNDEFINED;
densityDpi = DENSITY_DPI_UNDEFINED;
seq = 0;
simSetLocale = false; /// M: sim locale feature
}