gpt4 book ai didi

android - 辅助显示器 DisplayMetrics 依赖于主显示器?

转载 作者:行者123 更新时间:2023-12-04 23:51:07 32 4
gpt4 key购买 nike

我有两种不同的平板电脑:

  • 10.1 英寸平板电脑 - 1280x800 @ ~149dpi
  • 15.6 英寸平板电脑 - 1920x1080 @ ~156dpi

  • 就实际物理(现实世界)规范而言,这些平板电脑都非常接近 160dpi(其中 1px 相当于 1dp )。系统报告它们正好是 160dpi。没关系,这里没什么大不了的。

    我还有一个辅助显示器。它与我的 10.1"平板电脑具有相同的物理(实际)规范。但是,当我将它连接到两个不同的平板电脑并使用它来显示 Android Presentation 时,辅助显示器将报告完全不同的 DisplayMetrics

    连接到 10.1"平板电脑时,辅助显示屏会报告:
  • 分辨率:1280x800
  • DPI: 237.0
  • 密度:1.48125

  • 连接到 15.6"平板电脑时,辅助显示屏会报告:
  • 分辨率:1024x768
  • DPI: 227.0
  • 密度:1.41875

  • 什么可能导致这种情况?

    该应用程序本身就像石头一样愚蠢。我所做的就是创建一个 Presentation对象并在主显示器和辅助显示器上显示虚拟棋盘布局。

    我已经尝试同时使用 MediaRouterDisplayManager用于查找我的 Display 的 API并创建我的 Presentation .他们都给出了相同的结果。
    @Override
    protected void onResume() {
    super.onResume();

    MediaRouter mediaRouter = (MediaRouter) getSystemService(Context.MEDIA_ROUTER_SERVICE);
    MediaRouter.RouteInfo route = mediaRouter.getSelectedRoute(MediaRouter.ROUTE_TYPE_LIVE_VIDEO);

    if (route != null) {
    Display display = route.getPresentationDisplay();
    if (display != null) {
    Presentation presentation = new MyPresentation(this, display);
    presentation.show();
    }
    }
    }
    @Override
    protected void onResume() {
    super.onResume();

    DisplayManager manager = (DisplayManager) getSystemService(Context.DISPLAY_SERVICE);
    Display[] displays = manager.getDisplays(DisplayManager.DISPLAY_CATEGORY_PRESENTATION);

    if (displays.length > 0) {
    Presentation presentation = new MyPresentation(this, displays[0]);
    presentation.show();
    }
    }

    最佳答案

    我认为您可以从物理显示器创建一个 VirtualDisplay。
    创建 VirtualDisplay 时,您可以更改密度 dpi。

    displayManager.createVirtualDisplay(
    "VirtualDisplay",
    virtualDisplayWidth,
    virtualDisplayHeight,
    designedDensityDpi,
    surfaceView.getHolder().getSurface(),
    VIRTUAL_DISPLAY_FLAG_PRESENTATION
    );

    关于android - 辅助显示器 DisplayMetrics 依赖于主显示器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55695530/

    32 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com