85 lines
3.5 KiB
Plaintext
85 lines
3.5 KiB
Plaintext
page.title=Printing Photos
|
|
parent.title=Printing Content
|
|
parent.link=index.html
|
|
|
|
trainingnavtop=true
|
|
next.title=Printing HTML Documents
|
|
next.link=html-docs.html
|
|
|
|
@jd:body
|
|
|
|
<div id="tb-wrapper">
|
|
<div id="tb">
|
|
|
|
<h2>This lesson teaches you to</h2>
|
|
<ol>
|
|
<li><a href="#image">Print an Image</a></li>
|
|
</ol>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<p>
|
|
Taking and sharing photos is one of the most popular uses for mobile devices. If your application
|
|
takes photos, displays them, or allows users to share images, you should consider enabling printing
|
|
of those images in your application. The <a href="{@docRoot}tools/support-library/index.html"
|
|
>Android Support Library</a> provides a convenient function for enabling image printing using a
|
|
minimal amount of code and simple set of print layout options.
|
|
</p>
|
|
|
|
<p>This lesson shows you how to print an image using the v4 support library {@link
|
|
android.support.v4.print.PrintHelper} class.</p>
|
|
|
|
|
|
<h2 id="image">Print an Image</h2>
|
|
|
|
<p>The Android Support Library {@link android.support.v4.print.PrintHelper} class provides
|
|
a simple way to print of images. The class has a single layout option, {@link
|
|
android.support.v4.print.PrintHelper#setScaleMode setScaleMode()}, which allows you to print with
|
|
one of two options:</p>
|
|
|
|
<ul>
|
|
<li>{@link android.support.v4.print.PrintHelper#SCALE_MODE_FIT SCALE_MODE_FIT} - This
|
|
option sizes the image so that the whole image is shown within the printable area of the page.
|
|
</li>
|
|
<li>{@link android.support.v4.print.PrintHelper#SCALE_MODE_FILL SCALE_MODE_FILL} - This
|
|
option scales the image so that it fills the entire printable area of the page. Choosing this
|
|
setting means that some portion of the top and bottom, or left and right edges of the image is
|
|
not printed. This option is the default value if you do not set a scale mode.</li>
|
|
</ul>
|
|
|
|
<p>Both scaling options for {@link android.support.v4.print.PrintHelper#setScaleMode
|
|
setScaleMode()} keep the existing aspect ratio of the image intact. The following code example
|
|
shows how to create an instance of the {@link android.support.v4.print.PrintHelper} class, set the
|
|
scaling option, and start the printing process:</p>
|
|
|
|
<pre>
|
|
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);
|
|
}
|
|
</pre>
|
|
|
|
<p>
|
|
This method can be called as the action for a menu item. Note that menu items for actions that are
|
|
not always supported (such as printing) should be placed in the overflow menu. For more
|
|
information, see the <a href="{@docRoot}design/patterns/actionbar.html">Action Bar</a> design
|
|
guide.
|
|
</p>
|
|
|
|
<p>After the {@link android.support.v4.print.PrintHelper#printBitmap printBitmap()} method is
|
|
called, no further action from your application is required. The Android print user interface
|
|
appears, allowing the user to select a printer and printing options. The user can then print the
|
|
image or cancel the action. If the user chooses to print the image, a print job is created and a
|
|
printing notification appears in the system bar.</p>
|
|
|
|
<p>If you want to include additional content in your printouts beyond just an image, you must
|
|
construct a print document. For information on creating documents for printing, see the
|
|
<a href="html-docs.html">Printing an HTML Document</a> or
|
|
<a href="custom-docs.html">Printing a Custom Document</a>
|
|
lessons.</p>
|
|
|