从系统设置中更改显示大小影响我的布局奥利奥

问题描述 投票:0回答:2

我想我的布局是相同的大小和形状的贯穿和以前调整字体放大工作正常。 Android目前似乎已经拿出改变它迷惑了我的整个布局显示尺寸的选项。

我试图做一个价值观大,布局大型,并试图以正常尺寸设置为布局,但没有积极的结果。

我也发现这个代码在某些线程,以帮助我与我的问题:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
        Log.d("TAG", "adjustDisplayScale: " + configuration.densityDpi);
        DisplayMetrics metrics = getResources().getDisplayMetrics();
        WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);
        wm.getDefaultDisplay().getMetrics(metrics);
        if (configuration.densityDpi >= 485) //for 6 inch device OR for 538 ppi
            configuration.densityDpi = 500; //decrease "display size" by ~30
        else if (configuration.densityDpi >= 300) //for 5.5 inch device OR for 432 ppi
            configuration.densityDpi = 400; //decrease "display size" by ~30
        else if (configuration.densityDpi >= 100) //for 4 inch device OR for 233 ppi
            configuration.densityDpi = 200; //decrease "display size" by ~30
        Log.d("TAG", "metrics density: " + metrics.density + "," + metrics.scaledDensity);
        metrics.scaledDensity = configuration.densityDpi * metrics.density;
        Log.d("TAG", "scaledDensity: " + metrics.scaledDensity);
        this.getResources().updateConfiguration(configuration, metrics);
    }

这也似乎并没有什么好处我的布局。它仍然成为巨大而迷失方向。谁能告诉我我能做些什么,以保持整个相同尺寸,而不在系统设置影响我的布局和设计?

android user-interface layout orientation display
2个回答
2
投票

使用限制的布局,也没有必要,如果你使用约束的布局创造大XLARGE布局。而且最重要的是用SP和DP。

ex. <dimen name="dm_40sp">40sp</dimen>

SP根据屏幕分辨率自动调整大小。

约束的布局更容易,更有效然后相对布局。试试这个,如果有奎雷斯问我。


0
投票

这会不会是你正在寻找的答案但我仍想与大家分享一下我的看法。

首先,这些设置是有原因的。它的可访问性。残疾人或困难的人使用该设置,根据自己的需要调整UI。所以,你不应该找到一种方法都克服这些设置。

Additinaly,如果你没有,你应该阅读Support different screen sizes。它会给你的角度有关,其布局是由系统时捞起。

但是,如果你不小心的话,那么对于字体大小,如果你使用dp代替sp他们不会被系统设置的影响的。对于缩放级别是没有食谱。你需要欺骗系统就像在你的示例代码,并贴在你的应用水平和活性水平更新的配置。恕我直言,你不应该试图不惜一切做任何事情,它是用户增加字体大小和缩放级别的意志,只是让他们独立:)

毕竟,如果你的UI是通过这些设置毁了这一切意味着你的UI是不是适应或反应,你应该更新你的UI,而不是尝试禁用这些设置。

© www.soinside.com 2019 - 2024. All rights reserved.