【问题标题】:Force android app into a specific resolution强制 android 应用程序进入特定分辨率
【发布时间】:2014-02-21 09:27:40
【问题描述】:

对于内部 android 测试应用程序,我想创建一个应用程序,它可以强制设备使用特定分辨率呈现它,或者具有设备可以用来显示应用程序的最大 dpi。我尝试使用不同的 android sdk 编译它,将 targetSdk 设置为不同的版本,并在我的清单中尝试编写

它似乎不起作用。我知道强制屏幕分辨率在任何移动世界都是不好的做法,但这只是一个内部使用的应用程序,它永远不会看到任何市场。有没有办法强制一个特定的决议?我知道有可能,至少让应用程序以某种兼容模式运行。您可以使用反射,使用 View.getContext().getResources().getDisplayMetrics() 检索有关(或应用程序中的任何)视图的显示指标的一些信息,以查找 displayMetrics,并找到私有字段 widthPixels、noncompatWidthPixels , heightPixels 和 noncompatHeightPixels。

提前致谢

【问题讨论】:

  • 这是 iOS 的一种功能,不适用于 android,除非您创建一个可以更改大小并包含所有内容的视图。
  • 我知道在 Android 中是可以做到的。也许这不是真正的分辨率变化,但屏幕能够进入缩放渲染的模式或类似的东西。
  • 定位版本 8 将使事情看起来像那样。但不确定是否缩放
  • 谢谢!我尝试定位版本 8,但没有成功。你知道我应该用什么 sdk 编译吗?
  • 任何,这与您使用的 SDK 无关。它与您的代码有关。正如我所说,您应该有一个作为应用程序容器的视图,然后更改视图的大小。

标签: android screen resolution dpi


【解决方案1】:
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
int height = size.y;

您可以使用此代码在您的 mainactivity 的 oncreate 中获取尺寸,并检查适合您需求的尺寸,如果没有,则向用户显示此应用不适合您的对话框!!

希望这会有所帮助。

【讨论】:

  • 感谢您的回复!不幸的是,我认为这对我没有帮助。我知道如何查找屏幕分辨率,但现在如何更改它。我按照android developer 上的指南进行操作,但没有结果。我不在乎它是否是一个 hacky 解决方案,或者我必须使用非常旧的 android sdk 进行编译。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多