1、显示大小
public static int getDefaultDisplayDensity(int displayId) {
try {
final IWindowManager wm = ();
return (displayId);
} catch (RemoteException exc) {
return -1;
}
}
public static void setDefaultDisplay(Context context) {
if(.SDK_INT > 23) {
Configuration origConfig = ().getConfiguration();
= getDefaultDisplayDensity(Display.DEFAULT_DISPLAY);//获取手机出厂时默认的densityDpi
().updateConfiguration(origConfig, ().getDisplayMetrics());
}
}
在界面onCreate中调用setDefaultDisplay,强制修改分辨率
2、字体大小
@Override
public void onConfigurationChanged(Configuration newConfig) {
//非默认值
if ( != 1){
getResources();
}
(newConfig);
}
@Override
public Resources getResources() {//还原字体大小
Resources res = ();
//非默认值
if (().fontScale != 1) {
Configuration newConfig = new Configuration();
();//设置默认
(newConfig, ());
}
return res;
}
或者在xml布局中将字体修改为dp而不是用sp