编写:jdneo - 原文:http://developer.android.com/training/printing/photos.html
拍摄并分享照片是移动设备最流行的用法之一。如果我们的应用拍摄了照片,并期望可以展示他们,或者允许用户共享照片,那么我们就应该考虑让应用可以打印出这些照片来。Android Support Library提供了一个方便的函数,通过这一函数,仅仅使用很少量的代码和一些简单的打印布局配置集,就能够进行照片打印。
这堂课将展示如何使用v4 support library中的PrintHelper类打印一幅图片。
Android Support Library中的PrintHelper类提供了一种打印图片的简单方法。该类有一个单一的布局选项:setScaleMode(),它允许我们使用下面的两个选项之一:
这两个setScaleMode()的图像布局选项都会保持图像原有的长宽比。下面的代码展示了如何创建一个PrintHelper类的实例,设置布局选项,并开始打印进程:
private void doPhotoPrint() {
PrintHelper photoPrinter = new PrintHelper(getActivity());
photoPrinter.setScaleMode(PrintHelper.SCALE_MODE_FIT);
Bitmap bitmap = BitmapFactory.decodeResource(getResources(),
R.drawable.droids);
photoPrinter.printBitmap("droids.jpg - test print", bitmap);
}
该方法可以作为一个菜单项的Action来被调用。注意对于那些不一定被设备支持的菜单项(比如有些设备可能无法支持打印),应该放置在“更多菜单(overflow menu)”中。要获取有关这方面的更多知识,可以阅读:Action Bar。
在printBitmap()被调用之后,我们的应用就不再需要进行其他的操作了。之后Android打印界面就会出现,允许用户选择一个打印机和它的打印选项。用户可以打印图像或者取消这一次操作。如果用户选择了打印图像,那么一个打印任务将会被创建,同时在系统的通知栏中会显示一个打印提醒通知。
如果希望在打印输出中包含更多的内容,而不仅仅是一张图片,那么就必须构造一个打印文档。这方面知识将会在后面的两节课程中展开。