編寫:jdneo - 原文:http://developer.android.com/training/printing/photos.html
拍攝并分享照片是移動設(shè)備最流行的用法之一。如果我們的應(yīng)用拍攝了照片,并期望可以展示他們,或者允許用戶共享照片,那么我們就應(yīng)該考慮讓應(yīng)用可以打印出這些照片來。Android Support Library提供了一個方便的函數(shù),通過這一函數(shù),僅僅使用很少量的代碼和一些簡單的打印布局配置集,就能夠進行照片打印。
這堂課將展示如何使用v4 support library中的PrintHelper類打印一幅圖片。
Android Support Library中的PrintHelper類提供了一種打印圖片的簡單方法。該類有一個單一的布局選項:setScaleMode(),它允許我們使用下面的兩個選項之一:
這兩個setScaleMode()的圖像布局選項都會保持圖像原有的長寬比。下面的代碼展示了如何創(chuàng)建一個PrintHelper類的實例,設(shè)置布局選項,并開始打印進程:
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);
}
該方法可以作為一個菜單項的Action來被調(diào)用。注意對于那些不一定被設(shè)備支持的菜單項(比如有些設(shè)備可能無法支持打?。瑧?yīng)該放置在“更多菜單(overflow menu)”中。要獲取有關(guān)這方面的更多知識,可以閱讀:Action Bar。
在printBitmap()被調(diào)用之后,我們的應(yīng)用就不再需要進行其他的操作了。之后Android打印界面就會出現(xiàn),允許用戶選擇一個打印機和它的打印選項。用戶可以打印圖像或者取消這一次操作。如果用戶選擇了打印圖像,那么一個打印任務(wù)將會被創(chuàng)建,同時在系統(tǒng)的通知欄中會顯示一個打印提醒通知。
如果希望在打印輸出中包含更多的內(nèi)容,而不僅僅是一張圖片,那么就必須構(gòu)造一個打印文檔。這方面知識將會在后面的兩節(jié)課程中展開。