在开发我的应用程序时,我意识到如果有人更改了设备的字体大小,我的应用程序字体大小也发生了变化,并且破坏了我设计的某些视觉效果.因此,我想问一问是否有一种方法来固定与设备设置无关的文本大小?
谢谢
解决方法:
检查源代码DisplaySettings.java,这是控制字体大小比例的方法
public void writeFontSizePreference(Object objValue) {
try {
mCurConfig.fontScale = Float.parseFloat(objValue.toString());
ActivityManagerNative.getDefault().updatePersistentConfiguration(mCurConfig);
} catch (RemoteException e) {
Log.w(TAG, "Unable to save font size");
}
}
这是一种将字体大小保持在不同字体大小的解决方案.
float textSize = 22f;
mTextView.setTextSize(textSize / getResources().getConfiguration().fontScale);
我认为@shoe rat的答案对于活动或应用程序上下文来说更好.