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

原文地址: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。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/479155.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器学习在美团配送系统的实践:用技术还原真实世界

在2018 AI开发者大会(AI NEXTCon)上,美团配送AI方向负责人何仁清,分享了美团在即时配送领域中机器学习技术的最新进展,以及如何通过大数据和机器学习手段,建立对线下真实世界各种场景的感知能力&#xff0c…

机器学习算法应用场景实例六十则

原文链接:https://blog.csdn.net/liulingyuan6/article/details/53648273本文整理了60个机器学习算法应用场景实例,含分类算法应用场景20个、回归算法应用场景20个、聚类算法应用场景10个以及关联规则应用场景10个。包含了天池、DataCastle、DataFountai…

LeetCode 99. 恢复二叉搜索树(中序遍历)

1. 题目 二叉搜索树中的两个节点被错误地交换。 请在不改变其结构的情况下,恢复这棵树。 你能想出一个只使用常数空间的解决方案吗? 2. 解题 循环中序遍历(栈),记录不满足的节点,交换其valO(n)O(n)O(n)…

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

原文地址:http://android.xsoftlab.net/training/printing/html-docs.html 在Android中打印内容要比打印照片要复杂一些,它要求将文本与图像整合到一个文档中。不过Android框架提供了一种实现方式,这种方式需要使用HTML来整合文档并打印&…

AAAI21 | Seq2Seq模型成为“复读机”的原因找到了?

文 | 苏剑林编 | Sheryc_王苏单位 | 追一科技去年笔者写过博文《如何应对Seq2Seq中的"根本停不下来"问题?》[1],里边介绍了一篇论文中对Seq2Seq解码不停止现象的处理,并指出那篇论文只是提了一些应对该问题的策略,并没有…

论文浅尝 | ICLR 2020 - 图神经网络的预训练策略

论文笔记整理:杨帆,浙江大学计算机学院。动机现有的用于图结构的预训练方法要么只关注node-level,导致在图表示空间没有区分度,要么只关注graph-level,导致在节点表示空间没有区分度。一种优质的节点表示应该保证不仅在…

常见的距离算法和相似度计算方法

原文链接:https://zhuanlan.zhihu.com/p/138107999 首发于算法加油站写文章常见的距离算法和相似度计算方法奋发的菜鸟酱​华东师范大学 计算机技术博士在读91 人赞同了该文章注:不定时更新1.常见的距离算法1.1 欧几里得距离(Euclidean Dista…

美团AI全景图:吃喝玩乐背后的黑科技

很多人都会发现日常生活已经越来越离不开美团了,这个互联网平台涵盖了吃、住、行、游、购、娱……能帮我们做很多事情,非常接地气。黄色的美团外卖骑手,橙色的摩拜单车,还有美团和大众点评的Logo……会不时出现在各个角落&#xf…

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

原文地址:http://android.xsoftlab.net/training/printing/custom-docs.html 对于一些应用,比如绘图类APP,版面设计类APP以及其它APP,这些APP都关注图形的输出,有一个漂亮的打印页面是它们的关键特性。在这种情况下&a…

LeetCode 547. 朋友圈(图的遍历BFS DFS)

文章目录1. 题目2. 解题2.1 BFS 广度优先2.2 DFS 深度优先1. 题目 问有几个连通网络 2. 解题 2.1 BFS 广度优先 参考图的数据结构 class Solution { public:int findCircleNum(vector<vector<int>>& M) {int n M.size(), groups 0, i;bool visited[n] …

开源开放 | 《大词林》开源 75 万核心实体和围绕核心实体的细粒度概念、关系列表...

1《大词林》简介《大词林》(http://101.200.120.155/)是由哈尔滨工业大学社会计算与信息检索研究中心推出&#xff0c;由我中心秦兵教授和刘铭副教授主持开发&#xff0c;是一个自动构建的大规模开放域中文知识库。自2014年11月推出第一版《大词林》&#xff0c;《大词林》共经…

推荐几个不错的CUDA入门教程(非广告)

文 | godweiyang最近因为项目需要&#xff0c;入坑了CUDA&#xff0c;又要开始写很久没碰的C了。对于CUDA编程以及它所需要的GPU、计算机组成、操作系统等基础知识&#xff0c;我基本上都忘光了&#xff0c;因此也翻了不少教程。这里简单整理一下&#xff0c;给同样有入门需求的…

logging.getLogger(logger)

https://www.cnblogs.com/bjdxy/archive/2012/12/03/2799322.html logging模块学习笔记&#xff1a;logger 对象、日志等级 logger&#xff1a;日志对象&#xff0c;logging模块中最基础的对象&#xff0c;用logging.getLogger(name)方法进行初始化&#xff0c;name可以不填。通…

Android官方开发文档Training系列课程中文版:高效显示位图之加载大位图

原文地址&#xff1a;http://android.xsoftlab.net/training/displaying-bitmaps/index.html 引言 学习如何使用一种常规的手段来处理及加载Bitmap对象&#xff0c;这种方式除了使用户界面是可响应的之外&#xff0c;还会避免超出内存的限制。如果你不小心点的话&#xff0c;…

美团DB数据同步到数据仓库的架构与实践

背景 在数据仓库建模中&#xff0c;未经任何加工处理的原始业务层数据&#xff0c;我们称之为ODS(Operational Data Store)数据。在互联网企业中&#xff0c;常见的ODS数据有业务日志数据&#xff08;Log&#xff09;和业务DB数据&#xff08;DB&#xff09;两类。对于业务DB数…

论文浅尝 | AAAI2020 - 基于生成对抗的知识图谱零样本关系学习

论文笔记整理&#xff1a;耿玉霞&#xff0c;浙江大学直博生。研究方向&#xff1a;知识图谱&#xff0c;零样本学习等。来源&#xff1a;AAAI2020论文链接&#xff1a;https://arxiv.org/pdf/2001.02332.pdf本文是发表在AAAI2020上的一篇基于生成对抗网络进行知识图谱零样本关…

LeetCode 1184. 公交站间的距离

1. 题目 环形公交路线上有 n 个站&#xff0c;按次序从 0 到 n - 1 进行编号。我们已知每一对相邻公交站之间的距离&#xff0c;distance[i] 表示编号为 i 的车站和编号为 (i 1) % n 的车站之间的距离。 环线上的公交车都可以按顺时针和逆时针的方向行驶。 返回乘客从出发点…

【python】详解类class的继承、__init__初始化、super方法

原文链接; https://blog.csdn.net/brucewong0516/article/details/79121179?utm_mediumdistribute.pc_relevant_t0.none-task-blog-BlogCommendFromBaidu-1.control&depth_1-utm_sourcedistribute.pc_relevant_t0.none-task-blog-BlogCommendFromBaidu-1.control 通过之前…

追剧计划第三弹!UC Berkeley出品,全栈深度学习!

关注卖萌屋比较早的小伙伴&#xff0c;大概还记得2020年初时我们组织的斯坦福大学CS224N自然语言处理公开课追剧计划&#xff0c;以及后来的斯坦福大学CS520知识图谱公开课追剧活动。尽管活动已经结束很长一段时间&#xff0c;但是仍然有小伙伴后台问“什么时候开始下一波追剧哇…

Android官方开发文档Training系列课程中文版:高效显示位图之在非UI线程中处理图片

原文地址&#xff1a;http://android.xsoftlab.net/training/displaying-bitmaps/process-bitmap.html 我们在上节课Load Large Bitmaps Efficiently中讨论了BitmapFactory.decode*方法&#xff0c;说到了不应该在UI线程中执行读取数据的过程&#xff0c;尤其是从磁盘或者网络…