Android Dev Summit, October 23-24: two days of technical content, directly from the Android team. Sign-up for livestream updates.

Mencetak foto

Mengambil dan berbagi foto adalah salah satu penggunaan paling populer pada perangkat seluler. Jika aplikasi Anda bisa mengambil foto, menampilkannya, atau memungkinkan pengguna untuk berbagi gambar, sebaiknya pertimbangkan untuk mengaktifkan pencetakan gambar pada aplikasi tersebut. Android Support Library menyediakan fungsi yang mudah untuk mengaktifkan pencetakan gambar menggunakan jumlah kode minimal dan sekumpulan opsi tata letak cetak yang sederhana.

Tutorial ini menunjukkan cara mencetak gambar menggunakan class PrintHelper library dukungan v4.

Mencetak gambar

Class PrintHelper Android Support Library menyediakan cara sederhana untuk mencetak gambar. Class ini memiliki opsi tata letak tunggal, setScaleMode(), yang memungkinkan Anda mencetak dengan salah satu dari dua opsi yang ada:

  • SCALE_MODE_FIT - Opsi ini menyesuaikan ukuran gambar, sehingga seluruh gambar ditampilkan dalam area halaman yang bisa dicetak.
  • SCALE_MODE_FILL - Opsi ini menskalakan gambar sehingga memenuhi seluruh area halaman yang bisa dicetak. Sebagian tepi atas dan bawah, atau kiri dan kanan gambar tidak akan tercetak jika Anda memilih setelan ini. Opsi ini adalah nilai default jika mode skala tidak ditetapkan.

Kedua opsi penskalaan untuk setScaleMode() mempertahankan rasio tinggi lebar gambar yang ada tetap utuh. Contoh kode berikut menunjukkan cara membuat instance dari class PrintHelper, menyetel opsi penskalaan, dan memulai proses pencetakan:

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

Metode ini dapat dipanggil sebagai tindakan untuk item menu. Perhatikan, item menu untuk tindakan yang tidak selalu didukung (seperti pencetakan) harus ditempatkan pada menu tambahan. Untuk informasi selengkapnya, lihat panduan desain Panel Tindakan.

Setelah metode printBitmap() dipanggil, Aplikasi tidak perlu melakukan tindakan apa pun. Antarmuka pengguna cetak Android akan muncul, sehingga pengguna bisa memilih opsi pencetakan dan printer. Selanjutnya pengguna dapat mencetak gambar atau membatalkan tindakan. Jika pengguna memilih untuk mencetak gambar, pekerjaan cetak akan dibuat dan notifikasi pencetakan muncul pada bilah sistem.

Jika ingin menyertakan konten tambahan pada cetakan selain gambar, Anda harus membuat dokumen cetak. Guna mengetahui cara membuat dokumen untuk dicetak, lihat tutorial Mencetak dokumen HTML atau Mencetak dokumen kustom.