使用getDrawingCache,RemoteViews无法正确保存到位图

时间:2012-11-03 00:36:14

标签: android image view bitmap remoteview

我想将Notification contentview(一个RemoteViews)绘制成一个位图。

我正在使用此代码:

private Bitmap getImageOfRemoteViews(RemoteViews rv) {
  try {
        View view = rv.apply(mContext, null);
        view.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED),
                MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
        view.layout(0, 0, view.getMeasuredWidth(), view.getMeasuredHeight());
        view.setDrawingCacheEnabled(true);
        view.buildDrawingCache(true);
        Bitmap screenshot = view.getDrawingCache(true);
        return screenshot;
    } catch (Exception e) {
        e.printStackTrace();
    }
    return null;
}

View构建在位图中但不是整个视图中,缺少正确的部分。

应该是: http://imgur.com/vyFdy

原样: http://imgur.com/DnTsC

通过手动设置布局,如:

view.layout(0, 0, 720, 250);

仅添加了背景颜色,但未添加2个textviews(此处为“1:12”和“Info”)

有人知道如何解决这个问题吗?

0 个答案:

没有答案