- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
编辑:
没关系,这样就可以了
TopRatedPage.setDrawingCacheEnabled(true);
TopRatedPage.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED), MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
TopRatedPage.layout(0, 0, TopRatedPage.getMeasuredWidth(), TopRatedPage.getMeasuredHeight());
TopRatedPage.buildDrawingCache(true);
Bitmap screenshot = Bitmap.createBitmap(TopRatedPage.getDrawingCache());
TopRatedPage.setDrawingCacheEnabled(false);
旧的:
我正在尝试从布局中截取屏幕截图,就像这样。
LinearLayout TopRatedPage = (LinearLayout)inflater.inflate(R.layout.toprated, null);
...
Bitmap screenshot;
TopRatedPage.setDrawingCacheEnabled(true);
screenshot = Bitmap.createBitmap(TopRatedPage.getDrawingCache()); // Caused by: java.lang.NullPointerException
TopRatedPage.setDrawingCacheEnabled(false);
知道我做错了什么吗?
谢谢!
编辑:也试过这样,它不会抛出错误,但给出了一个空位图。
Bitmap screenshot = TopRatedPage.getDrawingCache();
最佳答案
试试这个,让我知道会发生什么......
LinearLayout TopRatedPage = (LinearLayout)inflater.inflate(R.layout.toprated, null);
Bitmap screenshot = Bitmap.createBitmap(LinearLayout .getWidth(), LinearLayout .getHeight(), Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(screenshot);
LinearLayout.draw(c);
imageView.setImageBitmap(screenshot);
如果可能的话,使用,
View captureView = null;
captureView = inflater.inflate(R.layout.toprated, null);
Bitmap screenshot = Bitmap.createBitmap(captureView.getWidth(), captureView.getHeight(), Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(screenshot);
captureView .draw(c);
imageView.setImageBitmap(screenshot);
关于android - MyLinearLayout.getDrawingCache() 给出 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10278717/
我几乎阅读了关于这个主题的所有帖子,但似乎没有一个有帮助。 我正在 try catch 当前屏幕的屏幕截图。为此,我正在使用 getDrawingCache。这是我的代码: mRootView.get
我有一个自定义 View ,它将管理数百个离散的用户定义的顺序绘图事件。我不是维护所有单个文本、线条、形状更新的集合,然后在每次 onDraw 期间重新绘制它们,而是在每次 onDraw 结束时获取
我在 onDraw 函数中调用 getDrawingCache。问题是它只在第一次包含对 Canvas 的更改,之后,它根本不会更新新的更改。这是我的代码: paintAction.d
我目前正在处理一个项目,该项目需要显示一个带有灰色(黑色/白色)背景的对话框。为此,我截取了整个应用程序的屏幕截图,将此屏幕截图放在全屏对话框的背景上,并在其上放置一个 ColorFilter 使其变
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 9
我使用以下方法在我的应用中截取屏幕截图: private Bitmap takeScreenshot() { View rootView = findViewById(android.R.id
我想使用 DrawingCache 捕获 ImageView 的内容。我写了下面的代码。 iv1 = (ImageView)findViewById(R.id.iv1); iv2 = (ImageVi
我正在开发一个简单的绘画应用程序,并尝试实现在用户请求时提供更多空间来绘制的功能,我认为这可以通过简单地启用我的 CustomView 类(包含在 LinearLayout 中)的滚动来完成然后在 S
所以我正在尝试制作 VideoView 的屏幕截图。我认为最简单的方法是: videoView.setDrawingCacheEnabled(true); 然后当我需要截图的时候: Bitmap sc
我使用 Pragmatic Bookshelf 的 Touch V2 示例有一个带有加载位图图像的 RelativeLayout -- http://media.pragprog.com/titles
我正在尝试在 TextView 中创建文本的位图。过去,我使用 getDrawingCache 完成此操作。但是,现在我需要创建一个 TextView 的位图,其中的文本比以前长得多。这导致 getD
@Override public boolean execute(String action, JSONArray args, CallbackContext callbackContext) thr
我正在尝试创建一个允许用户截取当前 View 的应用程序。我正在使用以下代码来执行此操作。 View content = ((Activity)ctx).findViewById(R.id.rootl
我对 TextView 的 getDrawingCache() 和 setText() 有问题。在 setText() 和使用 getDrawingCache() 之后,我没有在位图中看到文本。
我在自定义 View 上绘图。然后将绘制的图像转换为位图以进行进一步处理,但是当我这样做时Bitmap bitmap = drawView1.getDrawingCache();位图为空。为什么为nu
我正在使用 getDrawingCache() 方法捕获我的布局 View 并从中创建图像。代码工作正常并生成图像,但这里的问题是,生成的图像质量很低。我希望生成的图像的分辨率很高,这样无论何时将其设
我的应用有这段代码 mView.setDrawingCacheEnabled(true); mBitmap = Bitmap.createBitmap(mView.getDrawingCache())
如果我有一个具有透明背景的 View 并且我执行了 bitmap = view.getDrawingCache();,不幸的是该位图不再透明。后台设置黑色背景。 我试过了 view.setDrawin
此代码中缺少什么?同样的代码适用于 ICS。在 API 8 上,滚动出现并且一些内容从屏幕上消失。这种情况下如何获取绘图缓存? 代码: TableLayout page = (TableLayout)
我正在尝试将 View 转换为位图。在模拟器中我的程序工作正常并按预期运行但是当我在设备中运行相同的代码时它在特定行给出空指针异常: Bitmap b = Bitmap.createBitmap(vi
我是一名优秀的程序员,十分优秀!