Android官方开发文档Training系列课程中文版:打印内容之图像打印

简介: 原文地址:http://android.xsoftlab.net/training/printing/index.html引言Android用户会很频繁的浏览设备上的内容,但是有部分情况例外,当屏幕没有足够的方式可以分享信息的时候。

原文地址:http://android.xsoftlab.net/training/printing/index.html

引言

Android用户会很频繁的浏览设备上的内容,但是有部分情况例外,当屏幕没有足够的方式可以分享信息的时候。那么可以打印Android应用上的内容便给用户提供了一种方式可以查看更大的内容载体,这内容可能来自你的APP或者另一个人所分享的内容。打印还应该允许用户可以创建并打印一段资料,不过该资料并不依靠一台设备,无论这台设备是否电量充足,或者是否有无线网络连接。

在Android 4.4及更高版本上,Android应用程序框架提供了一种服务,这种服务可以使Android应用程序直接打印图像或者文档。这节训练课程描述了如何使你的APP可以实现打印,打印包括图像、HTML页面,以及如何创建并打印自定义文档。

打印照片

拍照并分享出去可能是移动设备上最受欢迎的行为。如果你的程序可以拍照,显示或者允许用户来分享这些照片,你应该考虑可以在应用内部打印这些照片。Android Support Library对打印照片提供了一种简便的功能。该功能只需要少量的代码和一些打印布局的设置就可以实现。

这节课展示了如何使用v4支持库下的PrintHelper类来打印照片。

打印一张图片

Android Support Library PrintHelper类提供了一种简便的方式来打印图像。这个类拥有一个单一的布局选项,setScaleMode(),这个方法可以使你通过以下两种方式打印:

  • SCALE_MODE_FIT 这个选项会调整图像的尺寸,以便使整个图像显示在打印页的内部。
  • SCALE_MODE_FILL 这个选项会缩放图像的尺寸,以便使图像填充打印页的整个打印区域。选择了这个设置就意味着一些顶部和底部的部分或者左边和右边的部分不会被打印出来。这个选项是默认选项。

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);
}

这个方法可以被ActionBar上的菜单点击事件所回调。要注意ActionBar上的所有菜单按钮并不总是被支持的(比如打印按钮),所以应该将这个按钮放置到浮动菜单中。有关更多信息,请参见Action Bar设计指南。

printBitmap()方法被调用之后,不会再要求你的程序有进一步的行动。当Android用户打印界面出现后,会允许用户选择一台打印机以及打印选项。用户然后就可以打印这些图像或者取消这次的打印。如果用户选择了打印图像,那么一个打印工作便会被创建并且会在系统栏上出现一个打印通知。

如果你想在刚才的图像上添加一些附加内容,你必须构造一个打印文档。有关打印文档的更多信息,请参见课程Printing an HTML Document or Printing a Custom Document

目录
相关文章
|
1月前
|
开发工具 Android开发 开发者
Android UI设计: 解释Android的Nine-Patch图像是什么,它用于什么目的?
Android UI设计: 解释Android的Nine-Patch图像是什么,它用于什么目的?
38 4
|
1月前
|
XML 前端开发 Java
Android App开发图像加工中卡片视图CardView和给图像添加装饰的讲解以及实战(附源码 简单易懂)
Android App开发图像加工中卡片视图CardView和给图像添加装饰的讲解以及实战(附源码 简单易懂)
63 0
|
1月前
|
缓存 算法 网络协议
Android面试回忆录移动应用开发专业核心课程
Android面试回忆录移动应用开发专业核心课程
|
1月前
|
Android开发
Android Studio入门之图像显示解析及实战(附源码 超详细必看)(包括图像视图、图像按钮、同时展示文本与图像)
Android Studio入门之图像显示解析及实战(附源码 超详细必看)(包括图像视图、图像按钮、同时展示文本与图像)
121 1
|
11天前
|
Android开发
在Android上实现图像颜色过滤与反转
在Android上实现图像颜色过滤与反转
9 0
在Android上实现图像颜色过滤与反转
|
1月前
|
JSON Android开发 数据格式
Android框架-Google官方Gson解析,android开发实验报告总结
Android框架-Google官方Gson解析,android开发实验报告总结
|
1月前
|
XML Android开发 数据格式
Fragment的使用,零基础入门android逆向视频课程
Fragment的使用,零基础入门android逆向视频课程
|
1月前
|
Android开发
Android实现圆形图像的两种方法(Glide和Picasso)
Android实现圆形图像的两种方法(Glide和Picasso)
15 1
|
1月前
|
Java Android开发
Android开发系列全套课程
本系列课程面向有java基础,想进入企业从事android开发的计算机专业者。学习搭配实战案例,高效掌握岗位知识。
21 1
|
1月前
|
存储 前端开发 测试技术
Android 官方架构中的 UseCase 该怎么写?
Android 官方架构中的 UseCase 该怎么写?
96 0