Stampa di foto

Scattare e condividere foto è uno degli usi più comuni dei dispositivi mobili. Se la tua applicazione scatta foto, le visualizza o consente agli utenti di condividere le immagini, valuta la possibilità di attivare la stampa di queste immagini nella tua applicazione. Android Support Library offre una pratica funzione per attivare la stampa di immagini utilizzando una una quantità minima di codice e una semplice serie di opzioni di layout di stampa.

Questa lezione mostra come stampare un'immagine utilizzando il corso PrintHelper della libreria di supporto v4.

Stampare un'immagine

Il corso PrintHelper di Android Support Library offre un modo semplice per stampare le immagini. Il corso ha una sola opzione di layout, setScaleMode(), che ti consente di stampare con una delle due opzioni seguenti:

  • SCALE_MODE_FIT - Questo ridimensiona l'immagine in modo che l'intera immagine venga visualizzata all'interno dell'area stampabile della pagina.
  • SCALE_MODE_FILL - Questo consente di ridimensionare l'immagine in modo da riempire l'intera area stampabile della pagina. In scelta significa che alcune parti dei bordi superiore e inferiore o dei bordi sinistro e destro dell'immagine vengono non viene stampato. Questa opzione è il valore predefinito se non imposti una modalità scala.

Entrambe le opzioni di ridimensionamento per setScaleMode() mantengono invariate le proporzioni esistenti dell'immagine. Il seguente esempio di codice mostra come creare un'istanza della classe PrintHelper, impostare di scalabilità e avviare il processo di stampa:

Kotlin

private fun doPhotoPrint() {
    activity?.also { context ->
        PrintHelper(context).apply {
            scaleMode = PrintHelper.SCALE_MODE_FIT
        }.also { printHelper ->
            val bitmap = BitmapFactory.decodeResource(resources, R.drawable.droids)
            printHelper.printBitmap("droids.jpg - test print", bitmap)
        }
    }
}

Java

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);
}

Questo metodo può essere chiamato come azione per una voce di menu. Tieni presente che le voci di menu relative alle azioni l'opzione non sempre supportata (ad esempio la stampa) deve essere inserita nel menu extra. Per ulteriori informazioni informazioni, vedi il design della barra delle azioni guida.

Dopo che il metodo printBitmap() è non sono richieste ulteriori azioni da parte dell'applicazione. Interfaccia utente di stampa di Android che consente all'utente di selezionare una stampante e le opzioni di stampa. L'utente può quindi stampare immagine o annulla l'azione. Se l'utente sceglie di stampare l'immagine, viene creato un processo di stampa e viene una notifica di stampa nella barra di sistema.

Se vuoi includere contenuti aggiuntivi nei tuoi documenti cartacei oltre all'immagine, devi creare un documento di stampa. Per informazioni sulla creazione di documenti da stampare, consulta le Stampa di un documento HTML oppure Stampa di un documento personalizzato durante le lezioni.