我需要进行屏幕截图并保存屏幕截图.我需要在不使用任何PC连接或不拔出手机的情况下执行此 *** 作.每当事件触发时,我都需要这样做.例如,当广告在游戏中显示时…或游戏结束并以蛇等显示分数时,请告诉我我该怎么做.我看到了一些陀螺,他们给了代码,但这似乎不起作用
private voID getScreen() { VIEw content = findVIEwByID(R.ID.layoutRoot); Bitmap bitmap = content.getDrawingCache(); file file = new file("/sdcard/test.png"); try { file.createNewfile(); fileOutputStream ostream = new fileOutputStream(file); bitmap.compress(CompressFormat.PNG, 100, ostream); ostream.close(); } catch (Exception e) { e.printstacktrace(); }}
解决方法:
您能否提供有关运行该代码不起作用的更多信息?它不能捕获您想要的东西吗?它会崩溃吗?
确保您使用根目录布局正确更改了R.ID.layoutroot …看来它可以工作…
<com.example.androID.snake.SnakeVIEw androID:ID="@+ID/snake" androID:layout_wIDth="match_parent" androID:layout_height="match_parent" tileSize="24" /><relativeLayout androID:layout_wIDth="match_parent" androID:layout_height="match_parent" > <TextVIEw androID:ID="@+ID/text" androID:text="@string/snake_layout_text_text" androID:visibility="visible" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:layout_centerInParent="true" androID:gravity="center_horizontal" androID:textcolor="#ff8888ff" androID:textSize="24sp"/></relativeLayout>
编辑…
因此,例如,如果使用刚才放置的布局,则应将R.ID.layout更改为R.ID.snake,这是因为此行:androID:ID =“ @ ID / snake”.
我认为没有一种简单的方法来查找/获取视图的“根”布局的ID(如果您想获取手机显示内容的屏幕截图,请点击此处).
我刚刚检查了启动器和另一个应用程序,似乎大多数应用程序都已放入具有ID / content的FrameLayout中,因此您可以尝试使用androID.R.ID.content,但是没有任何保证,每次都能使用…
总结以上是内存溢出为你收集整理的Android-截屏全部内容,希望文章能够帮你解决Android-截屏所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)