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>
<ul><li> 一開始,您會收到 來電。#onStart()
此回呼可用來配置資源。 </li li><> Next,您會收到一或多個呼叫#onLayout(PrintAttributes, PrintAttributes, CancellationSignal, LayoutResultCallback, Bundle)
,通知您列印屬性(頁面大小、密度等)已變更,讓您有機會配置內容以符合新的條件約束。 </li li><> 每次來電#onLayout(PrintAttributes, PrintAttributes, CancellationSignal, LayoutResultCallback, Bundle)
後,您<強>式可能會</強>呼叫,要求您#onWrite(PageRange[], ParcelFileDescriptor, CancellationSignal, WriteResultCallback)
撰寫 PDF 檔案與特定頁面的內容。 </li li><> 最後,您會收到來電。#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涵蓋您的活動且使用者無法與其互動時,在主要應用程式線程上執行列印工作可能會影響其他應用程式元件的效能,因為它們也會在該線程上執行。
您也可以在不同的線程上執行工作,例如,如果您列印 UI 內容,則可以處理 #onStart()
UI 線程和 #onLayout(PrintAttributes, PrintAttributes, CancellationSignal, LayoutResultCallback, Bundle)
UI 線程上(假設 onStart 初始化配置所需的資源)。 這可確保UI不會在配置列印內容時變更。 然後,您可以在另一個線程上處理 #onWrite(PageRange[], ParcelFileDescriptor, CancellationSignal, WriteResultCallback)
和 #onFinish()
。 這可確保主線程在最少時間內忙碌中。 此外,假設您將產生不強制的列印內容 #onLayout(PrintAttributes, PrintAttributes, CancellationSignal, LayoutResultCallback, Bundle)
。 如果您使用多個線程,您必須負責適當的同步處理。
的 android.print.PrintDocumentAdapter
Java 檔。
此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。
建構函式
PrintDocumentAdapter() | |
PrintDocumentAdapter(IntPtr, JniHandleOwnership) |
建立 JNI 物件的 Managed 表示法時使用的建構函式;由運行時間呼叫。 |
欄位
ExtraPrintPreview |
額外:對應至布爾值,如果 |
屬性
Class |
傳回這個 |
Handle |
基礎Android實例的句柄。 (繼承來源 Object) |
JniIdentityHashCode |
基類,提供要列印之文件的內容。 (繼承來源 Object) |
JniPeerMembers |
基類,提供要列印之文件的內容。 |
PeerReference |
基類,提供要列印之文件的內容。 (繼承來源 Object) |
ThresholdClass |
此 API 支援適用於 Android 的 Mono 基礎結構,並不適合直接從您的程式代碼使用。 |
ThresholdType |
此 API 支援適用於 Android 的 Mono 基礎結構,並不適合直接從您的程式代碼使用。 |
方法
Clone() |
建立並傳回這個 對象的複本。 (繼承來源 Object) |
Dispose() |
基類,提供要列印之文件的內容。 (繼承來源 Object) |
Dispose(Boolean) |
基類,提供要列印之文件的內容。 (繼承來源 Object) |
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) |
ToArray<T>() |
基類,提供要列印之文件的內容。 (繼承來源 Object) |
ToString() |
傳回物件的字串表示。 (繼承來源 Object) |
UnregisterFromRuntime() |
基類,提供要列印之文件的內容。 (繼承來源 Object) |
Wait() |
讓目前線程等候直到喚醒為止,通常是藉由em <notified/em>或<em>interrupted</em> 來喚醒它。<> (繼承來源 Object) |
Wait(Int64) |
讓目前的線程等到喚醒為止,通常是因為 <em>notified</em> 或 <em>interrupted</em>,或直到經過一定數量的實時為止。 (繼承來源 Object) |
Wait(Int64, Int32) |
讓目前的線程等到喚醒為止,通常是因為 <em>notified</em> 或 <em>interrupted</em>,或直到經過一定數量的實時為止。 (繼承來源 Object) |
明確介面實作
IJavaPeerable.Disposed() |
基類,提供要列印之文件的內容。 (繼承來源 Object) |
IJavaPeerable.DisposeUnlessReferenced() |
基類,提供要列印之文件的內容。 (繼承來源 Object) |
IJavaPeerable.Finalized() |
基類,提供要列印之文件的內容。 (繼承來源 Object) |
IJavaPeerable.JniManagedPeerState |
基類,提供要列印之文件的內容。 (繼承來源 Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
基類,提供要列印之文件的內容。 (繼承來源 Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
基類,提供要列印之文件的內容。 (繼承來源 Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) |
基類,提供要列印之文件的內容。 (繼承來源 Object) |
擴充方法
JavaCast<TResult>(IJavaObject) |
執行 Android 執行時間檢查的類型轉換。 |
JavaCast<TResult>(IJavaObject) |
基類,提供要列印之文件的內容。 |
GetJniTypeName(IJavaPeerable) |
基類,提供要列印之文件的內容。 |