内容简介:该方法主要利用SDK提供的view.getDrawingCache()方法,主要步骤如下:##如图:页面主要由3部分构成:
该方法主要利用SDK提供的view.getDrawingCache()方法,主要步骤如下:
- 设置view.setDrawingCacheEnabled(true)
- 调用view.buildDrawingCache(true)
- 生产bitmap:Bitmap b = Bitmap.createBitmap(v.getDrawingCache())
- 最后再设置回去v.setDrawingCacheEnabled(false)
##如图:
页面主要由3部分构成:
1.textView,显示hello world
2.button,点击截图
1.imageView,用来显示截下的图片
上代码:
<code>
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button) findViewById(R.id.button);
//activityMain是布局文件根LinearLayout,将其传入截屏方法中,将截取整个页面
activityMain =(LinearLayout)findViewById(R.id.activity_main);
imageView = (ImageView) findViewById(R.id.image_view);
}
//button按键处理,按下执行截图操作,并将截图显示在imageView中
public void onClick(View view){
bitmap_view = takeScreenShotOfView(view);
imageView.setImageBitmap(bitmap_view);
}
public Bitmap takeScreenShotOfView(View v) {
v.setDrawingCacheEnabled(true);
v.buildDrawingCache(true);
Bitmap b = Bitmap.createBitmap(v.getDrawingCache());
v.setDrawingCacheEnabled(false); // clear drawing cache
return b;
}
</code>
布局文件比较简单,这里就不贴布局文件的代码了,小小demo,没有太注重代码逻辑,如有问题,欢迎指正,谢谢!
以上所述就是小编给大家介绍的《Android实现截屏功能》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
图解Java多线程设计模式
[日] 结城浩 / 侯振龙、杨文轩 / 人民邮电出版社 / 2017-8 / 89.00元
本书通过具体的Java 程序,以浅显易懂的语言逐一说明了多线程和并发处理中常用的12 种设计模式。内容涉及线程的基础知识、线程的启动与终止、线程间的互斥处理与协作、线程的有效应用、线程的数量管理以及性能优化的注意事项等。此外,还介绍了一些多线程编程时容易出现的失误,以及多线程程序的阅读技巧等。在讲解过程中,不仅以图配文,理论结合实例,而且提供了运用模式解决具体问题的练习题和答案,帮助读者加深对多线......一起来看看 《图解Java多线程设计模式》 这本书的介绍吧!