android - 使用布局参数设置时查看高度和宽度 0
问题描述
尝试从父视图膨胀并添加具有特定宽度和高度的自定义视图。我尝试过使用布局参数,手动设置 SurfaceView 大小等等,但没有运气。一直坚持这一点,任何帮助表示赞赏。
父视图的高度和宽度是正确的:
我尝试使用 XML 布局扩展视图并以编程方式调用它。我猜它必须与父母做一些事情。父级是一个RelativeLayout 视图,我也尝试过一个Frame 和Coordinator 视图。如果父母是全屏尺寸,这是否意味着孩子没有空间?我将如何解决这个问题,让多个视图堆栈大小相同?
if (mainVideoView == null) {
mainVideoView = new VideoView(themedReactContext);
addView(mainVideoView, new LayoutParams(getWidth(), getHeight()));
addOnTapListener(mainVideoView);
}
查看布局检查器,我可以看到布局高度和宽度已设置,但实际视图高度和宽度未设置。
public void init() {
createAudioTrack();
if (mode != null && role != null) {
if (role.equals(ROLE_PRESENTER)) {
switch (mode) {
case MODE_VIDEO:
addOnTapListener(mainVideoView);
createVideoTrack(null);
break;
case MODE_AR:
inflate(getContext(), R.layout.ar_layout, this);
arView = findViewById(R.id.ar_container);
arView.setBackgroundColor(Color.GREEN);
arView.setLayoutParams(new FrameLayout.LayoutParams(getWidth(), getHeight(), Gravity.CENTER));
arView.setMinimumWidth(getWidth());
arView.setMinimumHeight(getHeight());
arView.measure(MeasureSpec.makeMeasureSpec(
getWidth(), MeasureSpec.EXACTLY), MeasureSpec.makeMeasureSpec(
getHeight(), MeasureSpec.EXACTLY));
arView.requestLayout();
requestLayout();
createVideoTrack(new ViewCapturer(arView.arFragment.getArSceneView()));
break;
case MODE_MEASURE:
createVideoTrack(null);
break;
default:
break;
}
}
}
}
ViewGroup "TwilioVideo" 的日志显示正确的大小:
I/@@@TwilioVideo: resume
I/@@@TwilioVideo: twilio video focus: true
I/@@@TwilioVideo: visibiity: 6
I/@@@TwilioVideo: AR PRESENTER
I/@@@TwilioVideo: 2220 1080
I/@@@ARView: onFinishInflate
I/@@@Format: 0 0 30
I/@@@Format: 0 0 30
I/@@@Format: 0 0 30
I/@@@Format: 0 0 30
解决方案
推荐阅读
- php - How to get a word count of data in mysql and display in bar graph
- python - 请在我尝试使用 elif 关键字时出现此错误
- filter - 有条件地有效过滤大型数据集
- c++ - 在节点中使用原始指针,在树中使用 unique_ptr
- node-red - 从 Node-red 中的网页检索数据
- java - 在垂直 RecyclerView 内的水平 RecyclerView 上分页项目时,notifyDataSetChange 不起作用
- android - 无法在 android studio 中添加任何第三方依赖项
- javascript - 仅当鼠标向下滚动到该特定部分时,是否可以开始动画此文本效果?
- android-studio - 参数“目录”不是 Android Studio 中出现的目录错误
- python - 如何将可选参数传递给 python 类中的 __init__ 函数