我以编程方式遇到了Android 8+中的屏幕缩放设置问题,但是此选项已被废止,但是我尝试按照文档中的说明进行操作,但是它不起作用或效果不佳。
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
TinyDB db = new TinyDB(getBaseContext());
Configuration configuration = getBaseContext().getResources().getConfiguration();
configuration.fontScale = db.getFloat("zoomD", 0.85f); //0.85 small size, 1 normal size, 1,15 big etc
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
metrics.scaledDensity = configuration.fontScale * metrics.density;
configuration.densityDpi = (int) getResources().getDisplayMetrics().xdpi;
//getBaseContext().createConfigurationContext(configuration); //
getBaseContext().getResources().updateConfiguration(configuration, metrics);
}
我也使用了它,但是它不起作用:
configuration.setTo(configuration);
metrics.setTo(metrics);
还有其他类似的问题,但是它们都解决了应用程序中的语言更改,但是这里我将应用“屏幕缩放”中的设置。
Code to change zoom size on Stackoverflow
还是有另一种方法可以通过编程实现这一目标?