不推荐使用Android updateconfiguration(configuration,displaymetrics)

时间:2019-10-30 00:50:10

标签: java android android-studio

我以编程方式遇到了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

Similar question

还是有另一种方法可以通过编程实现这一目标?

0 个答案:

没有答案