相关疑难解决方法(0)

Android截图表面视图显示黑屏

我试图通过代码获取我的游戏截图并通过意图分享.我可以做这些事情,但屏幕截图总是显示为黑色.以下是与共享屏幕截图相关的代码:

View view = MainActivity.getView();
view.setDrawingCacheEnabled(true);
Bitmap screen = Bitmap.createBitmap(view.getDrawingCache(true));
.. save Bitmap
Run Code Online (Sandbox Code Playgroud)

这是在MainActivity中:

view = new GameView(this);
view.setLayoutParams(new RelativeLayout.LayoutParams(
            RelativeLayout.LayoutParams.FILL_PARENT,
            RelativeLayout.LayoutParams.FILL_PARENT));

public static SurfaceView getView() {
    return view;
}
Run Code Online (Sandbox Code Playgroud)

而观点本身:

public class GameView extends SurfaceView implements SurfaceHolder.Callback {
private static SurfaceHolder surfaceHolder;
...etc
Run Code Online (Sandbox Code Playgroud)

这就是我绘制一切的方式:

Canvas canvas = surfaceHolder.lockCanvas(null);
        if (canvas != null) {
                Game.draw(canvas);
...
Run Code Online (Sandbox Code Playgroud)

好的,根据一些答案,我构建了这个:

public static void share() {
    Bitmap screen = GameView.SavePixels(0, 0, Screen.width, Screen.height);
    Calendar c = Calendar.getInstance();
    Date d = c.getTime();
    String path = …
Run Code Online (Sandbox Code Playgroud)

android surfaceview

29
推荐指数
4
解决办法
3万
查看次数

标签 统计

android ×1

surfaceview ×1