Google 致力于为黑人社区推动种族平等。查看具体举措

打印照片

拍摄和分享照片是移动设备最受欢迎的用途之一。如果您的应用可以拍照、显示照片或允许用户分享图片,您应该考虑支持在您的应用中打印这些图片。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 文档打印自定义文档课程。