android自定义sufaceview,android-无法在自定义SurfaceView类的顶部绘制

我已经使用example guide创建了一个名为CameraPreview的类,该类继承自SurfaceView类,并显示摄像机预览.我还创建了另一个名为DrawOnTop的自定义视图类,该类直接从View继承,我用它在预览顶部绘制文本和其他项目.每个视图类都可以正常工作,但是当我将两个视图都加载到活动中时,CameraPreview始终占主导地位,而DrawOnTop类中的任何对象或文本都不会出现在相机预览的顶部.

因为我使用的是两个自定义视图类,所以我不必费心在活动的onCreate中从XML扩展任何视图类,因此onCreate不包含对setContentView(…)的任何调用.相反,我实例化每个视图类,并使用addContentView(…)将每个视图对象加载到活动的根视图中,即

CameraPreview preview = new CameraPreview(this);

addContentView(preview, new LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT));

DrawOnTop drawontop = new DrawOnTop(this);

addContentView(drawontop, new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));

drawontop.setVisibility(View.VISIBLE);

drawontop.bringToFront();

我看了活动的根视图,结果发现它是FrameLayout类型的.就像我在上面说的那样,这种方法对于每个视图都适用.

为了使DrawOnTop类出现在相机预览的顶部,我尝试使用BringToFront(),但是它没有任何作用.我正在运行Android版本4.1.1的Samsung Galaxy Note 2 LTE上测试该应用程序.

谁能告诉我我在做什么错?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值