注:本文翻譯自Google官方的Android Developers Training文檔,譯者技術(shù)一般,由于喜愛(ài)安卓而產(chǎn)生了翻譯的念頭,純屬個(gè)人興趣愛(ài)好。
原文鏈接: http://developer.android.com/training/printing/photos.html
拍攝并分享照片是移動(dòng)設(shè)備最流行的用法之一。如果你的應(yīng)用拍攝了照片,展示他們,或者允許用戶共享照片,你就應(yīng)該考慮在你的應(yīng)用中可以打印他們。 Android Support Library 提供了一個(gè)方便的函數(shù),它可以僅僅使用很少量的代碼和一些簡(jiǎn)單的打印布局配置集,就能打印出照片來(lái)。
這堂課將向你展示如何使用 v4 support library 中的 PrintHelper 類來(lái)打印一幅圖片。
一). 打印一幅圖片
Android Support Library中的 PrintHelper 類提供了一個(gè)打印圖片的簡(jiǎn)單方法。這個(gè)類有一個(gè)簡(jiǎn)單的布局選項(xiàng): setScaleMode() ,它能允許你使用下面的兩個(gè)選項(xiàng)之一:
- SCALE_MODE_FIT :這個(gè)選項(xiàng)會(huì)調(diào)整圖像大小,這樣整個(gè)圖像就會(huì)在打印有效區(qū)域內(nèi)全部顯示出來(lái)(縮放至長(zhǎng)和寬都包含在紙張頁(yè)面內(nèi))。
- SCALE_MODE_FILL :這個(gè)選項(xiàng)同樣會(huì)調(diào)整圖像大小使圖像充滿整個(gè)打印有效區(qū)域,即讓圖像充滿這個(gè)紙張頁(yè)面。這就意味著如果選擇這個(gè)區(qū)域,那么圖片的一部分(頂部和底部,或者左側(cè)和右側(cè))將無(wú)法打印出來(lái)。如果你不設(shè)置圖像拉伸的選項(xiàng),該模式將是默認(rèn)的圖像拉伸方式。
這兩個(gè) setScaleMode() 的圖像縮放選項(xiàng)都會(huì)保持圖像原有的長(zhǎng)寬比。下面的代碼展示了如何創(chuàng)建一個(gè) PrintHelper 類的實(shí)例,設(shè)置縮放選項(xiàng),并開(kāi)始打印進(jìn)程:
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);
}
這個(gè)方法可以作為一個(gè)菜單項(xiàng)的行為來(lái)被調(diào)用。注意對(duì)于那些不一定都能支持的菜單項(xiàng)(比如打印),應(yīng)該放置在“ 更多菜單(overflow menu) ”中。要獲取更多知識(shí),可以閱讀: Action Bar 這一設(shè)計(jì)指引。
在 printBitmap() 被調(diào)用之后,你的應(yīng)用不再需要其他的操作了。之后Android打印界面就會(huì)出現(xiàn),允許用戶選擇一個(gè)打印機(jī)和它的打印選項(xiàng)。之后用戶就可以打印圖像或者取消這一次操作。如果用戶選擇了打印圖像,那么一個(gè)打印的任務(wù)就被創(chuàng)建了,并且一個(gè)打印的提醒通知會(huì)顯示在系統(tǒng)的任務(wù)欄中。
如果你希望在你的打印輸出中包含更多的內(nèi)容,而不僅僅是一張圖片,你就必須構(gòu)造一個(gè)打印文檔。這方面知識(shí)將會(huì)在后面的兩節(jié)課程中展開(kāi)。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元

