PrintDocumentAdapter 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供要列印文件內容的基底類別。
[Android.Runtime.Register("android/print/PrintDocumentAdapter", DoNotGenerateAcw=true)]
public abstract class PrintDocumentAdapter : Java.Lang.Object
[<Android.Runtime.Register("android/print/PrintDocumentAdapter", DoNotGenerateAcw=true)>]
type PrintDocumentAdapter = class
inherit Object
- 繼承
- 屬性
備註
提供要列印文件內容的基底類別。
<h3>生命週期</h3>
<烏爾><李> 最初,你會接到一通電話。#onStart() 此回調可用來分配資源。
</li><li> 接著,你會接到一通或多通電話 #onLayout(PrintAttributes, PrintAttributes, CancellationSignal, LayoutResultCallback, Bundle) ,告知印刷屬性(頁面大小、密度等)改變,讓你有機會根據新的限制來排版內容。
</li><li> 每次打電話給 #onLayout(PrintAttributes, PrintAttributes, CancellationSignal, LayoutResultCallback, Bundle),<><>你都會接到電話,#onWrite(PageRange[], ParcelFileDescriptor, CancellationSignal, WriteResultCallback)要求你為特定頁面撰寫包含內容的 PDF 檔案。
</李><麗> 最後,你會接到一通電話。#onFinish() 你可以利用此回調釋放分配在 #onStart(). 中的資源。
</li></ul>
#onStart()回撥永遠是你接到的第一通電話,對於列印前一次性設定或資源分配很有用。 此處不會再接到後續電話。
回 #onLayout(PrintAttributes, PrintAttributes, CancellationSignal, LayoutResultCallback, Bundle) 調需要你根據當前 PrintAttributes的 。 此方法的執行在你呼叫回撥實例時,才算完成。 因此,在執行完成該方法並呼叫其中一個回調方法之前,你不會收到該類別其他方法的後續呼叫。
這 #onWrite(PageRange[], ParcelFileDescriptor, CancellationSignal, WriteResultCallback) 要求你將部分頁面的內容渲染並寫入所提供的目的地。 此方法的執行直到你在傳入回調實例中呼叫其中一個方法時,才算完成。 因此,在執行完成該方法並呼叫其中一個回調方法之前,你不會收到該類別其他方法的後續呼叫。 你永遠不會收到一連串對此方法的呼叫,除非之前有呼叫 。#onLayout(PrintAttributes, PrintAttributes, CancellationSignal, LayoutResultCallback, Bundle)
#onFinish()回電總是你最後接到的電話,對於列印後一次性清理或資源分配很有幫助。 此處不會再接到後續電話。
</p><h3>實作</h3>
本類別定義的 API 設計用來讓任意執行緒能完成部分或全部工作。 例如,如果印刷內容不依賴於 UI 狀態,也就是螢幕上顯示的內容,那麼你可以將整個工作分包到專屬執行緒,讓應用程式在列印作業進行時保持互動性。 請注意,雖然你的活動會被系統列印介面涵蓋,使用者無法與它互動,但在主應用程式執行緒上執行列印工作可能會影響其他應用程式元件的效能,因為它們同樣在該執行緒上執行。
你也可以在不同的執行緒上做工作,例如如果你列印 UI 內容,可以處理 #onStart() 和 #onLayout(PrintAttributes, PrintAttributes, CancellationSignal, LayoutResultCallback, Bundle) 在 UI 執行緒上(假設 onStart 初始化了版面所需的資源)。 這樣可以確保在你排版列印內容時,介面不會改變。 然後你就可以處理,然後#onWrite(PageRange[], ParcelFileDescriptor, CancellationSignal, WriteResultCallback)在另一條線上討論#onFinish()。 這樣可以確保主線程在最短的時間內保持忙碌。 此外,這假設你必須產生非強制性的印刷內容 #onLayout(PrintAttributes, PrintAttributes, CancellationSignal, LayoutResultCallback, Bundle) 。 如果你使用多個執行緒,你就要負責適當的同步。
Java 文件 android.print.PrintDocumentAdapter。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
建構函式
| 名稱 | Description |
|---|---|
| PrintDocumentAdapter() | |
| PrintDocumentAdapter(IntPtr, JniHandleOwnership) |
用於建立 JNI 物件受管理表示的建構器;由執行時呼叫。 |
欄位
| 名稱 | Description |
|---|---|
| ExtraPrintPreview |
額外說明:如果目前版面是用於列印預覽,則會映射到布林值 |
屬性
| 名稱 | Description |
|---|---|
| Class |
回傳此 |
| Handle |
底層 Android 實例的帳號。 (繼承來源 Object) |
| JniIdentityHashCode |
取得由互通執行時指派給此 Java 對等端的身份雜湊碼。 (繼承來源 Object) |
| JniManagedPeerState |
提供要列印文件內容的基底類別。 (繼承來源 JavaObject) |
| JniPeerMembers |
提供要列印文件內容的基底類別。 |
| PeerReference |
取得這個 Java 節點的 JNI 物件參考。 (繼承來源 Object) |
| ThresholdClass |
此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。 |
| ThresholdType |
此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。 |
方法
| 名稱 | Description |
|---|---|
| Clone() |
建立並回傳此物件的副本。 (繼承來源 Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
提供要列印文件內容的基底類別。 (繼承來源 JavaObject) |
| Dispose() |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| Dispose(Boolean) |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| DisposeUnlessReferenced() |
提供要列印文件內容的基底類別。 (繼承來源 JavaObject) |
| Equals(Object) |
提供要列印文件內容的基底類別。 (繼承來源 JavaObject) |
| Equals(Object) |
表示是否有其他物體「等同」於此物。 (繼承來源 Object) |
| GetHashCode() |
回傳物件的雜湊碼值。 (繼承來源 Object) |
| JavaFinalize() |
已淘汰.
當垃圾回收判定該物件不再有相關參考時,由垃圾回收器呼叫。 (繼承來源 Object) |
| Notify() |
喚醒一個正在該物件監視器上等待的執行緒。 (繼承來源 Object) |
| NotifyAll() |
喚醒所有等待該物件監視器的執行緒。 (繼承來源 Object) |
| OnFinish() |
印刷完成時會打電話。 |
| OnLayout(PrintAttributes, PrintAttributes, CancellationSignal, PrintDocumentAdapter+LayoutResultCallback, Bundle) |
當列印屬性(頁面大小、密度等)改變時,會呼叫它,讓你有機會重新排版內容,使其符合新的限制。 |
| OnStart() |
列印開始時會打電話。 |
| OnWrite(PageRange[], ParcelFileDescriptor, CancellationSignal, PrintDocumentAdapter+WriteResultCallback) |
當內容的特定頁面需以 PDF 檔案形式寫入指定檔案描述符時,會呼叫該功能。 |
| SetHandle(IntPtr, JniHandleOwnership) |
設定 Handle 屬性。 (繼承來源 Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
提供要列印文件內容的基底類別。 (繼承來源 JavaObject) |
| ToArray<T>() |
從這個 Java 陣列包裝器建立一個受管理陣列。 (繼承來源 Object) |
| ToString() |
回傳物件的字串表示。 (繼承來源 Object) |
| UnregisterFromRuntime() |
將此 Java 節點從互通執行時中取消註冊。 (繼承來源 Object) |
| Wait() |
導致目前執行緒等待被喚醒,通常是透過 <em>通知</><em 或 em>中斷</em> 來喚醒。 (繼承來源 Object) |
| Wait(Int64, Int32) |
會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。 (繼承來源 Object) |
| Wait(Int64) |
會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。 (繼承來源 Object) |
明確介面實作
| 名稱 | Description |
|---|---|
| IJavaPeerable.Disposed() |
提供要列印文件內容的基底類別。 (繼承來源 JavaObject) |
| IJavaPeerable.Finalized() |
提供要列印文件內容的基底類別。 (繼承來源 JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
提供要列印文件內容的基底類別。 (繼承來源 JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
提供要列印文件內容的基底類別。 (繼承來源 JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
提供要列印文件內容的基底類別。 (繼承來源 JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
提供要列印文件內容的基底類別。 (繼承來源 JavaObject) |
擴充方法
| 名稱 | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
取得實例 |
| JavaAs<TResult>(IJavaPeerable) |
試著強制 |
| JavaCast<TResult>(IJavaObject) |
執行 Android 執行時檢查型別轉換。 |
| JavaCast<TResult>(IJavaObject) |
提供要列印文件內容的基底類別。 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
試著強制 |