首页 > 解决方案 > 设置ANativeWindow android的高度宽度

问题描述

我正在开发一个应用程序,我想在其中设置表面视图和本机窗口的高度宽度。我正在使用布局参数设置表面视图高度宽度。例如,如果我将 500 高度和 500 宽度设置为表面视图和原生窗口,那么我的原生窗口不适合我的表面视图。表面视图似乎需要一些额外的宽度和高度。下面是我的代码。

表面视图

ConstraintLayout.LayoutParams params = new ConstraintLayout.LayoutParams(500, 500);
        params.startToStart = ConstraintSet.PARENT_ID;
        params.endToEnd = ConstraintSet.PARENT_ID;
        params.topToTop = ConstraintSet.PARENT_ID;
        params.bottomToBottom = ConstraintSet.PARENT_ID;

        surfaceView.setLayoutParams(params);

反窗口:

ANativeWindow_setBuffersGeometry(new_native_window, 500, 500, WINDOW_FORMAT_RGBA_8888);

设置 500 宽度和高度后,我的视图根据下图设置。 在此处输入图像描述

为什么我的本机窗口总是设置一些矩形结构。在设置这些本机窗口参数时,我做错了什么或缺少任何参数吗?我为本机窗口尝试了一些缩放模式,但没有奏效。关于相同的任何帮助?

标签: androidandroid-ndkgstreamersurfaceviewandroid-native-library

解决方案


推荐阅读