jjzjj

surfaceView

全部标签

java - Android:使用 SurfaceView 重新获得焦点

我目前正在研究Android,正在研究LunarLander示例。我发现,如果您离开应用程序(例如,点击调用按钮),它会破坏底层表面(调用surfaceDestroyed)。向后导航(这将触发onWindowVisibilityChanged)应用程序将崩溃,因为它会尝试绘制到表面而不重新创建它。是否有一些代码可以放入onWindowVisibilityChanged(或其他任何地方)来重新生成SurfaceView的底层表面并很好地恢复执行?感觉这应该是一个简单的函数调用,但我在API文档中找不到任何内容。谢谢! 最佳答案 “mS

android - 在 SurfaceView 扩展中将视频拉伸(stretch)到全屏

我创建了一个小部件,它是SurfaceView的扩展(与VideoView非常相似),并且我正在开发一项功能,可以在执行某些操作时将视频完全拉伸(stretch)到设备屏幕上.我查看了VideoView的onMeasure函数并以这种方式重写了它:@OverrideprotectedvoidonMeasure(intwidthMeasureSpec,intheightMeasureSpec){if(mStretchVideo){super.onMeasure(widthMeasureSpec,heightMeasureSpec);}else{intwidth=getDefaultSiz

Android OpenGL图像处理——不带SurfaceView

我想使用OpenGLES2和着色器进行一些背景图像处理,但不绘制到表面(即仅到帧缓冲区的离屏渲染)。虽然我已经在iOS上这样做了,但我在Android上遇到了这个问题。我想我已经接近于创建一个可用的OpenGL上下文,但还没有想出如何在没有SurfaceView的情况下做到这一点。 最佳答案 看看thisgamedevpost(点击展开查看完整代码)。该代码创建一个GL上下文并使用GLSurfaceView.Renderer接口(interface)适本地允许编写渲染器。在调用getBitmap()时,会调用渲染器绘制一个帧,然后将

Android SurfaceView 在视频后显示图像(清晰表面)

我的任务-在SurfaceView上播放视频,停止在SurfaceView中显示图像我的游戏代码mPlayer.setOnCompletionListener(onCompletionListener);mPlayer.setDisplay(view.getHolder());mPlayer.reset();mPlayer.setDataSource(file.getAbsolutePath());mPlayer.prepare();mPlayer.start();视频播放正常在完成mPlayer.reset();mPlayer.setDisplay(null);view.setBac

android - 在退出应用程序时结束 SurfaceView 和 GameThread

我有一个surfaceview和一个gameThread类。gameThread在SurfaceView类上不断更新和绘制。现在,当我退出应用程序时(通过按主页或后退按钮),我收到一条消息,提示应用程序强制关闭。那是因为GameThread仍然试图在删除的表面View上绘制...那么如何在没有收到强制关闭通知的情况下正确结束应用程序呢?我希望GameThread类在按下后退按钮时停止。当按下主页并在后台运行时,它应该会暂停。当重新进入仍在运行的游戏时,它应该恢复....有什么想法吗?这是我的GameThread类:publicclassGameThreadextendsThread{p

Android VideoView 不播放顺序视频

我想连续播放2个视频。第一个视频总是播放得很好。完成后,您可以在日志中看到它设置了新的视频URL,但随后SurfaceView抛出错误并且VideoView只是卡住在第一个视频的最后一帧。没有其他事情发生。有什么想法吗?谢谢!LE:令人惊讶的是,第二个视频调用了OnPreparedListener。LE2:有时第二个视频播放得很好,有时却不行……而且我没有在它工作和不工作之间更改一行代码。纯属随机……LE3:快速解决方案是在设置新视频URL之前添加此行:mVideoView.setVisibility(View.GONE);来自OnCompletionListener的代码:setCu

android - SurfaceView 在 PopupWindow 中不工作

我将使用基于AirView的PopupWindow显示预览三星SPen的特点但问题是SurfaceView没有创建,也没有调用SurfaceHolder.Callback方法。当显示弹出窗口时,表面区域变得透明,因为根本没有创建表面。SurfaceView未创建并且是透明的:悬停预览:publicclassHoverPreviewextendsLinearLayoutimplementsView.OnHoverListener,SurfaceHolder.Callback{privatestaticfinalStringTAG="HoverPreview";privateSurface

Android SurfaceView Canvas 呈现错误的颜色

嘿伙计们,这是大约7年来我第一次找不到编程问题的答案,我也没有从一开始就接近问题可能是什么。好吧,让我们从头开始。我遵循了一些关于AndroidSurfaceView的教程和示例,以及如何在另一个线程中绘制它的Canvas。到目前为止,没有问题,一切都如我所料。我目前正在处理我的SurfaceView周围有一些填充的场景,这意味着父View(FrameLayout)的背景呈现在上述SurfaceView周围。这是事情变得有趣的地方,因为我对父背景使用与清除SurfaceView的Canvas相同的颜色。根(=父)FrameLayout在主题中设置了它的背景@color/palette_

android - 如何解决空对象引用上的 "android.view.SurfaceView.getHolder()'”?

publicclassCameraFragmentextendsFragmentimplementsSurfaceHolder.Callback,View.OnClickListener{//DefinedAllFieldprivateSurfaceViewsurfaceView;privateSurfaceHoldersurfaceHolder;privateCameracamera;privateImageViewImgThumbnail;privateButtonbtnFlash,btnFrontCamera,btnCapture;privateintcameraId;priva

android - 在 SurfaceView 中被图像隐藏的 SlidingDrawer

我有一个SlidingDrawer和一个呈现图像的自定义SurfaceView。我刚刚尝试将SlidingDrawer向上拖动,并在这样做时发现它位于SurfaceView中的图像后面并且完全隐藏。正如您所想象的那样,这对用户没有多大用处,因此需要图像在拉起时始终落在SlidingDrawer后面。这可能吗?如果它有帮助,这是xml中的SlidingDrawer:这是xml中的SurfaceView:SurfaceView是自定义的,在onDraw()方法中使用以下代码:@OverridepublicvoidonDraw(Canvascanvas){super.onDraw(canva