膨胀的视图不会仅在某些小米设备(Redmi 3)上添加到窗口中。在其他设备上可以正常工作。
在另一个项目中,只有从dimens.xml资源中设置视图的高度和宽度,并且仅当维数为“ px” <dimen name="preview_width">240px</dimen>
时,它才有效。如果将“ px”更改为“ dp”,则不会显示视图。在新项目视图中,该视图具有可调整的大小,并且必须以编程方式设置其大小。如何将int结果转换为“ px”?
playerView = (PlayerView) LayoutInflater.from(context).inflate(R.layout.video_player, null);
windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
if (Build.VERSION.SDK_INT < 26) {
params = new WindowManager.LayoutParams(WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.TYPE_PHONE, 131113, -3);
} else {
params = new WindowManager.LayoutParams(WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY, 131113, -3);
}
playerView.initWebView(getWebViewClient());
playerView.loadData(getDataString());
params.gravity = 51;
if (Build.VERSION.SDK_INT >= 26) {
params.flags = 132649;
}
windowManager.addView(playerView, params);