首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有阴影的Android视图屏幕截图

带有阴影的Android视图屏幕截图
EN

Stack Overflow用户
提问于 2017-02-14 04:05:32
回答 1查看 570关注 0票数 2

我正在尝试拍摄一个有阴影(立面)的CardView的屏幕截图。但是,屏幕截图没有阴影。

有什么想法吗?

这是我的代码:

代码语言:javascript
复制
View v = mView.RootView;
v.DrawingCacheEnabled = true;
Bitmap b = v.DrawingCache;
EN

回答 1

Stack Overflow用户

发布于 2017-02-14 06:31:02

阴影(API25+中的Elevation)是硬件加速的,不能用于视图级别的缓存。

另外,如果你关闭了View (实际上是它的父级)的硬件加速,那么提升效果也会被禁用,因此不能用于缓存...

代码语言:javascript
复制
(aView.Parent as View).SetLayerType(LayerType.Software, null);

View Cache捕获示例:

代码语言:javascript
复制
Bitmap CaptureView(View view)
{
    if (view.IsHardwareAccelerated)
        Toast.MakeText(ApplicationContext, "View Is Hardware Accelerated, Effects will not be captured", ToastLength.Long).Show();
    view.BuildDrawingCache();
    Bitmap bitmap = view.GetDrawingCache(false);
    Bitmap bitmapCopy = bitmap.Copy(Bitmap.Config.Argb8888, false);
    view.DestroyDrawingCache();
    return bitmapCopy;
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42212600

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档