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