在我的清单中,我指定了(对于整个应用程序)样式:
android:theme="@android:style/Theme.NoTitleBar"

然后在我的应用程序中,我想使用绘图缓存创建应用程序的屏幕截图:

View activityView = getActivity().getwindow().getDecorView().findViewById(android.R.id.content);
  activityView.setDrawingCacheEnabled(true);
  Bitmap currentScreen = Bitmap.createBitmap(activityView.getDrawingCache());
  activityView.setDrawingCacheEnabled(false);

问题是屏幕截图上有一个空白(标题栏的大小).如果标题栏已打开,或者应用程序处于全屏模式,我会获得正确的屏幕截图.我尝试使用buildDrawingCache(true),但它没有任何区别.任何想法如何在noTitleBar模式下获得“真正的”屏幕截图?

解决方法

如果可以,尝试打开/关闭标题栏
/** set title bar to ON  */
activityView.setDrawingCacheEnabled(true);
Bitmap currentScreen = Bitmap.createBitmap(activityView.getDrawingCache());
activityView.setDrawingCacheEnabled(false);
/** set title bar to OFF  */

编辑:

我没有尝试,我不确定是否会起作用,但是你是否尝试通过findViewById引用它来为你的主要(xml中的第一个)布局制作截图?你还有标题栏的问题吗?

在Android中为应用程序设置NoTitleBar样式时为getDrawingCache的更多相关文章

  1. Xcode:iPhone截图不再有效

    解决方法我没有针对您的问题的解决方案,但这是一个解决方法:使用设备制作屏幕截图.生成的屏幕截图将保存在设备上.要将屏幕截图传输到桌面,请不要使用慢速iPhoto或iTunes进行同步.而是使用Preview.app导入图像.文件菜单中有一个命令可以在iPhone连接时从iPhone导入图像.

  2. ios – 来自Share Extension的Safari屏幕截图

    是否可以通过共享扩展程序在Safari中执行webview当前可见区域的屏幕截图?

  3. ios – 无法编辑屏幕截图,performChanges阻止失败

    我正在开发一个允许用户使用PhotoKit编辑照片的应用程序.我之前将编辑过的照片以JPEG格式保存到磁盘.我想避免转换为JPEG,并已实施修改,以便这样做.它适用于使用相机拍摄的照片,但如果您尝试编辑屏幕截图,PHPhotoLibrary.sharedPhotoLibrary().performChanges块将失败并记录操作无法完成.(可可错误-1.).我不确定为什么这会导致performCh

  4. ios – 核心图形栅格数据不从内存释放

    所以我让我的应用程序拍摄屏幕截图并将其保存到相册中,代码如下…如何释放由持有屏幕截图栅格数据的CoreGraphics分配的内存?我的项目是使用ARC进行内存管理.在测试应用程序如何分配内存时,我注意到在屏幕截图后内存没有被释放,导致应用程序随着时间的推移而变得迟缓.Instruments中的“AllocationSummary”告诉我数据类别是“CG栅格数据”,负责调用者是’CGDataProviderCreatWithcopyOfData’.CFRelease()中是否有解决方案;?解决方法您可以尝试

  5. 如何清除屏幕截图IOS

    我正在研究IOS应用程序,其中需要采取清晰的屏幕截图我已经尝试过了但是图像的质量并不好.请为我推荐一些东西.解决方法换线至

  6. ios – App Store提交的最大屏幕截图数

    我正在研究找出将应用程序提交到iOS应用商店所需的元数据要求.在没有注册Apple开发者计划的情况下,我无法找到提交时允许的屏幕截图数量的任何信息.任何人都可以开导我吗?

  7. ios – iTunes Connect的截图与错误的纵横比

    在模拟器中拍摄各种尺寸的屏幕截图,而我的4.7英寸和5.5英寸屏幕截图只出现问题….4英寸和3.5英寸没有问题上传.错误状态:一个或多个屏幕截图的纵横比不正确.有关更多信息,请参阅开发人员指南.在开发指南上说:我的屏幕截图有这些尺寸,我把它们与相应的模拟器.有人有类似的问题吗?(已经尝试重命名截图,避免奇怪的字符,什么不…还没成功)解决方法将模拟器比例设置为100%模拟器>窗口>比例>100%

  8. ios – 苹果在iPhone应用程序上要求iPad屏幕截图(在iTunes Connect中)?

    快而有希望的明显问题.我正在设置我的应用程序来提交,我正在iTunesConnect工作.它是要求我的iPhone和iPad截图.如果您的版本仅适用于iPhone,那么请放弃iPad屏幕截图?

  9. 什么时候ios自动截屏?

    我正在尝试更改应用程序进入后台时由iOS自动捕获的屏幕截图.但是我不确定这个屏幕截图的确切时间.例如:如果您在应用程序中下拉通知栏,则会调用以下方法:此外,如果您在应用程序中双击主页按钮,则会调用相同的方法.此外,如果显示警报视图,则调用“applicationWillResignActive”.但在这两种情况下不叫.所以我的问题是,即使应用程序没有进入后台,是否在调用applicationWil

  10. ios – 在UI测试期间如何使用Xcode 7截取UI的屏幕截图?

    所以我下载了XCode7的测试版,我已经创建了一些UI测试,但是我在测试过程中找不到如何截取我的app/UI的截图的功能.有人可以帮忙吗?在这种情况下,请注意灰色行末尾的眼睛图标.如果我要点击它,当我的应用程序中的按钮被点击时,我将看到一个应用程序的屏幕截图.

随机推荐

  1. bluetooth-lowenergy – Altbeacon库无法在Android 5.0上运行

    昨天我在Nexus4上获得了Android5.0的更新,并且altbeacon库停止了检测信标.似乎在监视和测距时,didEnterRegion和didRangeBeaconsInRegion都没有被调用.即使RadiusNetworks的Locate应用程序现在表现不同,一旦检测到信标的值,它们就不再得到更新,并且通常看起来好像信标超出了范围.我注意到的一点是,现在在logcat中出现以下行“B

  2. android – react-native动态更改响应者

    我正在使用react-native进行Android开发.我有一个视图,如果用户长按,我想显示一个可以拖动的动画视图.我可以使用PanResponder实现这一点,它工作正常.但我想要做的是当用户长按时,用户应该能够继续相同的触摸/按下并拖动新显示的Animated.View.如果您熟悉Google云端硬盘应用,则它具有类似的功能.当用户长按列表中的任何项目时,它会显示可拖动的项目.用户可以直接拖

  3. android – 是否有可能通过使用与最初使用的证书不同的证书对其进行签名来发布更新的应用程序

    是否可以通过使用与最初使用的证书不同的证书进行签名来发布Android应用程序的更新?我知道当我们尝试将这样的构建上传到市场时,它通常会给出错误消息.但有没有任何出路,比如将其标记为主要版本,指定市场中的某个地方?解决方法不,你不能这样做.证书是一种工具,可确保您是首次上传应用程序的人.所以总是备份密钥库!

  4. 如何检测Android中是否存在麦克风?

    ..所以我想在让用户访问语音输入功能之前检测麦克风是否存在.如何检测设备上是否有麦克风.谢谢.解决方法AndroidAPI参考:hasSystemFeature

  5. Android – 调用GONE然后VISIBLE使视图显示在错误的位置

    我有两个视图,A和B,视图A在视图B上方.当我以编程方式将视图A设置为GONE时,它将消失,并且它正下方的视图将转到视图A的位置.但是,当我再次将相同的视图设置为VISIBLE时,它会在视图B上显示.我不希望这样.我希望视图B回到原来的位置,这是我认为会发生的事情.我怎样才能做到这一点?编辑–代码}这里是XML:解决方法您可以尝试将两个视图放在RelativeLayout中并相对于彼此设置它们的位置.

  6. android – 获得一首歌的流派

    我如何阅读与歌曲相关的流派?我可以读这首歌,但是如何抓住这首歌的流派,它存放在哪里?解决方法检查此代码:

  7. android – 使用textShadow折叠工具栏

    我有一个折叠工具栏的问题,在展开状态我想在文本下面有一个模糊的阴影,我使用这段代码:用:我可以更改textColor,它可以工作,但阴影不起作用.我为阴影尝试了很多不同的值.是否可以为折叠文本投射阴影?

  8. android – 重用arm共享库

    我已经建立了armarm共享库.我有兴趣重用一个函数.我想调用该函数并获得返回值.有可能做这样的事吗?我没有任何头文件.我试过这个Android.mk,我把libtest.so放在/jni和/libs/armeabi,/lib/armeabi中.此时我的cpp文件编译,但现在是什么?我从objdump知道它的名字编辑:我试图用这个android.mk从hello-jni示例中添加prebuild库:它工作,但libtest.so相同的代码显示以下错误(启动时)libtest.so存在于libhello-j

  9. android – 为NumberPicker捕获键盘’Done’

    我有一个AlertDialog只有一些文本,一个NumberPicker,一个OK和一个取消.(我知道,这个对话框还没有做它应该保留暂停和恢复状态的事情.)我想在软键盘或其他IME上执行“完成”操作来关闭对话框,就像按下了“OK”一样,因为只有一个小部件可以编辑.看起来处理IME“Done”的最佳方法通常是在TextView上使用setonEditorActionListener.但我没有任何Te

  10. android – 想要在调用WebChromeClient#onCreateWindow时知道目标URL

    当我点击一个带有target=“_blank”属性的超链接时,会调用WebChromeClient#onCreateWindow,但我找不到新的窗口将打开的新方法?主页url是我唯一能知道的东西?我想根据目标网址更改应用行为.任何帮助表示赞赏,谢谢!

返回
顶部