Android官方开发文档Training系列课程中文版:打印内容之图像打印
来源:互联网 发布:淘宝店转让4个钻多少钱 编辑:程序博客网 时间:2024/06/05 20:38
原文地址: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。
- Android官方开发文档Training系列课程中文版:打印内容之图像打印
- Android官方开发文档Training系列课程中文版:打印内容之HTML文档打印
- Android官方开发文档Training系列课程中文版:打印内容之自定义文档打印
- Android官方开发文档Training系列课程中文版:目录
- Android官方开发文档Training系列课程中文版:目录
- Android官方开发文档Training系列课程中文版:目录
- Android官方开发文档Training系列课程中文版:添加ActionBar之设置ActionBar
- Android官方开发文档Training系列课程中文版:添加ActionBar之添加Action按钮
- Android官方开发文档Training系列课程中文版:添加ActionBar之自定义ActionBar样式
- Android官方开发文档Training系列课程中文版:添加ActionBar之ActionBar浮层效果
- Android官方开发文档Training系列课程中文版:管理Activity的生命周期之启动一个Activity
- Android官方开发文档Training系列课程中文版:管理Activity的生命周期之Activity的重建
- Android官方开发文档Training系列课程中文版:使用Fragment构建动态UI之Fragment创建
- Android官方开发文档Training系列课程中文版:数据存储之键值对序列存储
- Android官方开发文档Training系列课程中文版:数据存储之文件存储
- Android官方开发文档Training系列课程中文版:数据存储之数据库存储
- Android官方开发文档Training系列课程中文版:分享文件之配置文件共享
- Android官方开发文档Training系列课程中文版:分享文件之分享一个文件
- Android Studio 轻松打jar 包
- UVa 1594 Ducci Sequence
- Ubuntu16.04 用root身份登陆
- 内存操作流(处理临时信息)
- C#设计模式学习笔记(一) 之 简单工厂模式
- Android官方开发文档Training系列课程中文版:打印内容之图像打印
- 打印流的使用
- 【杭电oj】1556 - Color the ball(区间更新)
- N-01. 网线连接登录 ❀ 网康 (NETENTSEC) 防火墙
- C#课后题---文本框实例
- Android Tween Animation XML文件中标签的使用
- WPS中的公式编辑器如何打空格
- POJ 3414 Pots bfs
- ubuntu 上apt-get 安装 php5.6过程和nginx php-fpm 502 问题