相关疑难解决方法(0)

将视图转换为位图而不在Android中显示它?

我将尝试解释我到底需要做什么.

我有3个独立的屏幕,分别是A,B,C.还有另一个名为HomeScreen的屏幕,其中所有3个屏幕位图都应显示在图库视图中,用户可以选择他想去哪个视图.

通过将所有代码仅放在HomeScreen Activity中,我已经能够获得所有3个屏幕的位图并将其显示在Gallery视图中.现在,这使代码变得很复杂,我想简化它.

那么,我可以从HomeScreen调用另一个Activity并且不显示它,只是获取该屏幕的Bitmap.例如,假设我只调用HomeScreen,它调用活动A,B,C,并且不会显示A,B,C中的任何活动.它只是通过getDrawingCache()给出该屏幕的Bitmap.然后我们可以在HomeScreen的Gallery视图中显示这些位图.

我希望我已经非常清楚地解释了这个问题.

如果这确实可行,请告诉我.

android bitmap

123
推荐指数
6
解决办法
9万
查看次数

如何捕获android设备屏幕内容?

可能重复:
如何以编程方式在Android上截取屏幕截图?

如何使用快照数据捕获android设备屏幕内容并制作图像文件?我应该使用哪种API或在哪里可以找到相关资源?

BTW:不是相机快照,而是设备屏幕

android screen-capture

49
推荐指数
8
解决办法
11万
查看次数

截取整个视图的屏幕截图

我已经建立了一个基本上由HorizontalScrollView内部完成的表ScrollView.我让用户可以编辑字段.

现在我想将表保存在屏幕上,jpg,png,pdf或其他任何内容.

问题是 - 表几乎总是比屏幕大.

有没有办法制作整个ScrollView布局的屏幕截图?如果不是你认为可以做什么工作?

android screenshot

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

捕获GLSurfaceView的屏幕到位图

我需要能够GLSurfaceView在特定时刻捕捉到某个时刻的图像.我有以下代码:

relative.setDrawingCacheEnabled(true);
screenshot = Bitmap.createBitmap(relative.getDrawingCache());
relative.setDrawingCacheEnabled(false);
Log.v(TAG, "Screenshot height: " + screenshot.getHeight());
image.setImageBitmap(screenshot); 
Run Code Online (Sandbox Code Playgroud)

GLSurfaceView包含内的RelativeLayout,但我也尝试它直接使用GLSurfaceView,试图捕捉图像.有了这个,我认为屏幕捕获透明图像,即没有任何东西.任何帮助将不胜感激.

java android screen-capture glsurfaceview

33
推荐指数
2
解决办法
2万
查看次数

从视图android捕获位图

我发布了同样的问题,但它接近我的问题,这就是我第二次发布它的原因

嗨,我想从RelativeLayout捕获图像,因为我使用下面的代码

   captureRelativeLayout.setDrawingCacheEnabled(true);
   bitmap = captureRelativeLayout.getDrawingCache(true).copy(
                Config.ARGB_8888, false);
Run Code Online (Sandbox Code Playgroud)

问题是,当我开始活动并从那个时候从该视图中获取图像时它会正常工作,但如果我第二次使用它,图像不会被刷新,意味着每次我得到的是前一个位图.

现在如果我关闭我的活动和agian启动它然后我会得到更新的图像,但再次不是在第二次:(更多信息看看 不能共享图像正确的android

android

8
推荐指数
2
解决办法
7167
查看次数

为什么Bitmap在android中显示黑色背景

我写了一些代码,可以将tablelayout转换为bitmap.everythink工作完美但是,我的位图有黑色背景这是我的源代码

public Bitmap sendMyData(TableLayout view) {

    Bitmap bitmap = null;

    ByteArrayOutputStream bbb = new ByteArrayOutputStream();
    view.setDrawingCacheEnabled(true);
    view.layout(0, 0, view.getWidth(), view.getHeight());
    view.buildDrawingCache(true);
    bitmap = Bitmap.createBitmap(view.getDrawingCache());
    bitmap.compress(Bitmap.CompressFormat.JPEG, 100, bbb);
    view.setDrawingCacheEnabled(false);

    return bitmap;

}
Run Code Online (Sandbox Code Playgroud)

我的代码出了什么问题?为什么我的位图有黑色背景?如果有人知道解决方案,请帮助我谢谢

android android-layout android-canvas android-bitmap

8
推荐指数
2
解决办法
6728
查看次数

在 Google 地图中使用视图代替标记

是否可以在 Google Maps API v2 中使用自定义视图而不是标记?遗憾的是,Google 不允许我们使用视图自定义标记(带有图像视图、文本视图等的相对布局),因此可以膨胀视图,然后将该视图放置到地图中的特定位置吗?

android google-maps marker google-maps-android-api-2

8
推荐指数
2
解决办法
7444
查看次数

使用getDrawingCache保存视图位图会显示黑色图像

一切,我试着用setDrawingCacheEnabledgetDrawingCache不能正常工作.系统正在制作图像,但它看起来只是黑色.

其他人似乎也有类似的问题,但答案似乎太复杂或与我的情况无关.以下是我看过的一些内容:

这是我的代码:

    view.setDrawingCacheEnabled(true);
    Bitmap bitmap = view.getDrawingCache();
    try {
        FileOutputStream stream = new FileOutputStream(getApplicationContext().getCacheDir() + "/image.jpg");
        bitmap.compress(CompressFormat.JPEG, 80, stream);
        stream.close();
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
    view.setDrawingCacheEnabled(false);
Run Code Online (Sandbox Code Playgroud)

我在下面分享我的答案,以防其他人犯同样的错误.

android caching image view

6
推荐指数
2
解决办法
7330
查看次数

滑动以旋转删除

我需要使用触摸事件删除旋转视图.我的观点不是轻量级的:它包含一个Web浏览器和其他元素.

我实现了幻灯片删除没有旋转,它的工作速度不是很快,但它的工作原理.添加旋转后...非常非常慢.

我正在寻找快速移除旋转的方法.

据我所知,我可以从屏幕上读取位图,隐藏我的视图并在画布上绘制这个位图.我认为,这种方法应该可行.

我的问题是:

  • 我可以使用哪个库?
  • 屏幕旋转怎么样(我必须清除画布,删除我的位图,恢复我的视图,并重置触摸事件)?
  • 也许我可以使用内部拖放的模拟?(嗯,这是个好主意,但如何制作全尺寸阴影和动画动作"移出屏幕"?)

你是如何解决这些问题的?

Mohammed Ali的更新: 我可以阅读我的视图的位图在画布上绘制它.拖放的不透明阴影,阴影大小 ......

animation android drag-and-drop bitmap

6
推荐指数
0
解决办法
282
查看次数