拍摄和分享照片是移动设备最受欢迎的用途之一。如果您的应用 拍摄照片、展示照片或允许用户分享图片,则应考虑启用打印功能 和图片。Android 支持库提供了一个便捷的功能,支持使用 只需编写极少的代码和一组简单的打印版式选项。
本节课介绍如何使用 v4 支持库 PrintHelper
类打印图片。
打印图片
Android 支持库 PrintHelper
类提供
一种简单的图片打印方法。该类有一个布局选项 setScaleMode()
,
打印时,您可以选择以下两种方式之一:
SCALE_MODE_FIT
- 这 选项调整图片大小,以便在网页的可打印区域内显示整张图片。SCALE_MODE_FILL
- 这 选项可以缩放图片,使其填充网页的整个可打印区域。选择此项 设置表示图片上下或左右边缘的某些部分 未打印。如果您未设置缩放模式,则此选项为默认值。
setScaleMode()
的这两个缩放选项都能保持图片的现有宽高比不变。以下代码示例
展示了如何创建 PrintHelper
类的实例、设置
缩放选项,然后开始打印过程:
Kotlin
private fun doPhotoPrint() { activity?.also { context -> PrintHelper(context).apply { scaleMode = PrintHelper.SCALE_MODE_FIT }.also { printHelper -> val bitmap = BitmapFactory.decodeResource(resources, R.drawable.droids) printHelper.printBitmap("droids.jpg - test print", bitmap) } } }
Java
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); }
此方法可以作为菜单项的操作来调用。请注意,与 并非始终受支持(例如打印)应放置在溢出菜单中。有关 请参阅操作栏设计 指南。
调用 printBitmap()
方法后,
则不需要您的应用执行进一步操作。Android 打印界面
即可允许用户选择打印机和打印选项。然后,用户可以打印
图片或取消操作。如果用户选择打印图片,则系统会创建打印作业并
打印通知。
如果您想在打印输出中添加图片以外的其他内容,则必须 构建打印文档。有关创建打印文档的信息,请参阅 打印 HTML 文档或 打印自定义文档 课程。