我想知道是否可以更改设备的布局选择或图形选择/缩放,以便只影响我的应用程序。我能否设置设备DPI? 我这么做的原因是这款手机:http://www.gsmarena.com/samsung_p1000_galaxy_tab-3370.php 它的DPI非常低,只有240DPI,而它的PPI仅为170,应该被识别为160DPI的设备。我有一个相当大的布局-大型图形,在mdpi上看起来很好,但在hdpi上它们不适合,它们只是太大了。也许您有比更改设备DPI更好的解决方案?
是的,这是可能的。以下内容将把dpi设置为240。虽然你需要以某种方式刷新活动,例如重新启动应用程序。
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
metrics.density = 1.5f;
metrics.densityDpi = 240;
metrics.heightPixels = 1104;
metrics.widthPixels = 1920;
metrics.scaledDensity = 1.5f;
metrics.xdpi = 254.0f;
metrics.ydpi = 254.0f;
getResources().getDisplayMetrics().setTo(metrics);
如果 Samsung Galaxy Tab GT-P1000 没有 layout-xhdpi,则会采用 large 布局。
尝试根据 文档 支持多个屏幕分辨率,为您的应用程序设计替代布局和可绘制对象。