解决WFD不同电视分辨率投射边框显示不全的问题

在WFD进行投射在电视上,会因电视的分辨率不同从而产生边框不能完全显示的问题,这个可以通过屏幕缩放来解决此问题,实际是把手机端的物理尺寸进行缩放,在LogicalDisplay.java中,

int displayRectWidth, displayRectHeight;
在上面的基础上,乘以比例系数,比如 0.95等比缩放,就可以让屏幕完全的投射过去而且显示完全,对于部分屏幕,显示的面积会变小,因为图像的比例被缩放了

选择WifiDispaly,在DisplayInfo.java中有如下的定义:

/**
 * Display type: WiFi display.
 * @hide
 */
public static final int TYPE_WIFI = 3;

剩下的修改也就简单了,在LogicalDisplay.java中调整缩放比例即可

+        if (displayDeviceInfo.type == Display.TYPE_WIFI) {
+            displayRectWidth = (int)(displayRectWidth * 0.95);
+            displayRectHeight = (int)(displayRectHeight * 0.95);
+        }


你可能感兴趣的:(解决WFD不同电视分辨率投射边框显示不全的问题)