我有两种不同的平板电脑:
这些平板电脑的实际物理(实际)规格都非常接近160dpi(其中1px
等于1dp
)。系统报告它们的精确度为 160dpi。很好,在这里没什么大不了的。
我还有一个辅助显示器。它具有与我的10.1英寸平板电脑相同的物理(实际)规格。但是,当我将其连接到两个不同的平板电脑并使用它来显示Android Presentation
时,辅助显示器将报告完全不同的{{ 1}}。
连接到10.1英寸平板电脑时,辅助显示器报告:
连接到15.6“平板电脑时,辅助显示器报告:
是什么原因造成的?
应用程序本身就像石头一样愚蠢。我要做的就是创建一个DisplayMetrics
对象,并在主显示屏和辅助显示屏上都显示一个虚拟的棋盘格布局。
我尝试使用Presentation
和MediaRouter
API来查找我的DisplayManager
和创建我的Display
。它们都给出相同的结果。
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();
}
}
}