DalamBelajar Komputer Melalui Internet saya mau share cara membuat Popular Post bergerak ke atas, contohnya dapat dilihat di blog ini. mungkin bagi para blogger membuat popular post sudah pada tau dan sudah ga asing lagi karena memang sudah disediakan di menu tambah widget, namun itu masih dalam tampilan biasa atau tidak bergerak. Nah, pada kesempatan ini saya akan memberikan trik agar Sekarangdi bulan ramadhan yang sudah tiga hari Blog-KrenZ akan mengeshare postingan yang berjudul Cara membuat Widget related pos dengan thumbail bergerak . dengan adanya widget ini Pengunjung Blog juga semakin mudah untuk menjangkau artikel yang lebih luas . Jadi Gunakan lah Widget ini di Blog/website sobat langsung Cara pemakaiannya . 1. WidgetHTML #1. Home / Tips & Trik. Cara Membuat Tulisan 3D Bergerak Secara Online Oleh Neicy Tekno July 08, 2022 Post a Comment Neicy Tekno - Cara membuat tulisan 3D bergerak secara online menggunakan website teks 3D Gratis dan otomatis, Semua prosesnya sangat mudah. Membuat logo tulisan yang keren bisa menggunakan cara online, Ada banyak PanduanBlogger kali ini Saya akan membahas tentang cara memasang widget animasi naruto vs sasuke Kali ini kita membahas tentang widget animasi naruto ini karena saya adalah salah satu penggemar berat dari serial manga dan anime naruto. Mungkin diantara sobat sekalian juga ada penggemar manga dan anime naruto,Jadi widget ini sangat cocok untuk kita para penggemar naruto.Cara memasang widget Caramembuat marquee pada judul blog atau cara memodifikasi judul blog agar bisa bergerak dan berjalan. Beberapa waktu lalu saya telah posting artikel mengenai cara membuat teks bergerak di blog , dan kali ini saya akan posting artikel yang sejenis tapi beda dan penerapannya kali ini ini pada judul blog dengan judul artikel cara membuat judul Vay Nhanh Fast Money. Menerapkan Animasi pada project Flutter Hai rekan-rekan developer! Sebelumnya saya sudah berbagi tentang bagaimana cara menerapkan sebuah multitype view pada RecyclerView. Nah, kali ini saya ingin berbagi sedikit tentang bagaimana cara menerapkan animasi pada project Flutter. 💻 Mulai Belajar Pemrograman Belajar pemrograman di Dicoding Academy dan mulai perjalanan Anda sebagai developer profesional. Daftar Sekarang Tapi sebelum lanjut, kenapa kita perlu menerapkan sebuah animasi di aplikasi yang sedang kita kembangkan? Dengan menerapkan animasi, kita bisa menambah pengalaman pengguna ketika menggunakan aplikasi kita. Sebaliknya, jika kita tidak menerapkan sebuah animasi, aplikasi akan terlihat kaku. Alhasil, pengguna pun cepat bosan dan bisa memutuskan untuk uninstall aplikasi tersebut dari peranti mereka. Pada umumnya, animasi secara default terdapat pada transisi perpindahan halaman di dalam aplikasi. Animasinya pun beragam tergantung framework di setiap platform device. Menariknya, kita bisa mengubah dan mengganti animasi tersebut dengan animasi yang kita inginkan. Animasi Pada Project Flutter Hero Animation Untuk aplikasi yang dikembangkan dengan Flutter, terdapat built-in animasi yang bisa langsung kita gunakan untuk mempercantik dan membantu kita untuk menambah pengalaman pengguna. Yaitu, Hero Animation. Animasi yang digunakan untuk menampilkan transisi sebuah widget di dalam UI ketika berpindah halaman. Sebagai contoh, misal kita mempunyai aplikasi seperti berikut Aplikasi di atas terlihat kaku ketika berpindah halaman, namun ketika kita menerapkan hero animation, kita bisa menambahkan animasi pada widget ketika berpindah halaman seakan-akan widget tersebut dipindah dari satu halaman ke halaman lainnya seperti berikut Tidak sampai di situ, kita juga bisa mengubah bentuk dari widget tersebut saat ditampilkan pada halaman tujuan Struktur dari Hero Animation Pada dasarnya, Hero Animation adalah implementasi dari 2 dua widget Hero dengan struktur implementasinya sebagai berikut Hero widget sebagai start point. Widget hero yang digunakan untuk merepresentasikan grafis dan ditandai dengan sebuah tag yang ditampilkan pada source route. Hero widget sebagai endpoint, atau bisa disebut sebagai hero destination. Widget ini sama seperti widget yang ditampilkan pada source route, yaitu widget yang merepresentasikan grafis dan memiliki tag yang berada pada destination route. Pembuatan route yang berisi tujuan akhir dari hero animation. Route ini berfungsi untuk menentukan widget yang ada di akhir animasi. Menjalankan animasi dengan memanggil destination route yang berada di dalam stack navigator. Navigator akan melakukan operasi push dan pop untuk menjalankan hero animation dengan melakukan komparasi antara tag widget yang ada di source dan destination route. Flutter akan melakukan kalkulasi nilai batasan hero widget ukuran interpolasi dan posisi dari start point ke end point dan akan menjalankan animasi di overlay bagian yang berada di antara source dan destination route. Menerapkan Hero Animation Tanpa berlama-lama, mari kita praktekkan bagaimana menerapkan hero animation. Langsung saja buat project baru Flutter, bisa menggunakan VSCode atau Android Studio. Jika project baru sudah selesai dibuat, buka berkas kemudian modifikasi kode yang berada di dalamnya menjadi seperti berikut 1234567891011121314151617181920212223242526 import 'packageflutter/ main => runAppMyApp;class MyApp extends StatelessWidget { override Widget buildBuildContext context { return MaterialApp title 'Flutter Demo', theme ThemeData primarySwatch , home HomeScreen, ; }}class HomeScreen extends StatelessWidget { override Widget buildBuildContext context { return Scaffold appBar AppBar title Text"Hero Animation Sample", , }} Sebelum lanjut menambahkan widget Hero, mari kita tambahkan terlebih dahulu asset gambar yang akan ditampilkan pada widget Image. Silakan unduh assetnya di tautan ini. Namun teman-teman juga bisa menggunakan asset sed. Lanjut, buatlah folder baru dengan nama asset kemudian tempat asset gambar yang sudah diunduh di dalamnya. Kemudian daftarkan asset gambar tersebut ke dalam berkas seperti berikut flutter The following line ensures that the Material Icons font is included with your application, so that you can use the icons in the material Icons class. uses-material-design true To add assets to your application, add an assets section, like this assets - asset/ Pastikan kembali indentasi tiap asset agar tidak terjadi error ketika melakukan sync packages. Setelah selesai, mari kita buka kembali berkas Kemudian lengkapi kode pada kelas HomeScreen dengan widget Hero dan beberapa widget lainnya seperti berikut 123456789101112131415161718192021222324252627282930313233343536 class HomeScreen extends StatelessWidget { override Widget buildBuildContext context { return Scaffold appBar AppBar title Text"Hero Animation Sample", , body Center child Column mainAxisAlignment children [ Hero tag "logo", child "asset/ width 150, height 150, , , Padding padding const child RaisedButton child Text"To another screen", onPressed { MaterialPageRoutebuilder _ { return SecondScreen; }; }, , ], , , ; }} Di dalam widget Hero di atas terdapat sebuah widget Image yang menampilkan asset gambar yang sudah kita tambahkan sebelumnya. Selain itu, pada kelas HomeScreen di atas terdapat sebuah widget Button yang digunakan untuk menampilkan halaman baru menggunakan Navigator. Lanjut, buat lagi kelas baru di dalam bekas dengan nama SecondScreen. Buka, kemudian lengkapi kode di dalamnya seperti berikut 1234567891011121314151617181920 class AnotherScreen extends StatelessWidget { override Widget buildBuildContext context { return Scaffold appBar AppBar title Text"Another Screen", , body Center child Hero tag "logo", child "asset/ width 75, height 75, , , , ; }} Jika sudah, secara keseluruhan berkas kurang lebih akan seperti berikut 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 import 'packageflutter/ main => runAppMyApp;class MyApp extends StatelessWidget { override Widget buildBuildContext context { return MaterialApp title 'Flutter Demo', theme ThemeData primarySwatch , home HomeScreen, ; }}class HomeScreen extends StatelessWidget { override Widget buildBuildContext context { return Scaffold appBar AppBar title Text"Hero Animation Sample", , body Center child Column mainAxisAlignment children [ Hero tag "logo", child "asset/ width 150, height 150, , , Padding padding const child RaisedButton child Text"To another screen", onPressed { MaterialPageRoutebuilder _ { return SecondScreen; }; }, , ], , , ; }}class SecondScreen extends StatelessWidget { override Widget buildBuildContext context { return Scaffold appBar AppBar title Text"Another Screen", , body Center child Hero tag "logo", child "asset/ width 75, height 75, , , , ; }} Sampai di sini kita sudah selesai menerapkan Hero Animation. Jika dijalankan, teman-teman akan melihat hasil yang seperti dicontohkan di awal. Nah, yang perlu diperhatikan dalam menerapkan Hero Animation adalah tag hero. Ketika terjadi eror seperti animasi yang tidak dapat berjalan dengan baik, pastikan kembali tag yang digunakan di widget yang berada pada source dan destination route adalah sama. Selain itu, di dalam 1 satu source route tidak boleh 2 dua atau lebih widget memiliki tag yang seperti ini akan kita temukan ketika ingin menerapkan Hero Animation pada widget ListView. Kesimpulan Seperti yang sudah disebutkan di awal, menerapkan animasi merupakan salah satu cara yang dapat kita gunakan untuk menambah pengalaman pengguna. Dengan bertambahnya pengalaman pengguna, jumlah instal dari aplikasi kita pun akan ikut bertambah. Tentu ini akan sangat menguntungkan. Sebenarnya masih banyak lagi animasi-animasi yang bisa kita terapkan terutama pada project Flutter. Tinggal bagaimana cara kita menerapkan dan menyesuaikan dengan aplikasi yang sedang dikembangkan. Mungkin cukup sampai di sini tutorial kali ini. Jika ada yang mau ditanyakan, silakan tulis di kolom komentar di bawah ya, dan untuk contoh project yang sudah kita coba buat, bisa dilihat di laman Github ini. Menerapkan Animasi pada project Flutter Salam! Ingin baca tulisan saya lainnya? Simak 1. 2. Ingin juga dapat info update tentang tutorial di blog kami via sosial media? bisa ! Follow kami ya translation by you can also view the original English article Berkat fleksibilitas yang luar biasa, ConstraintLayout widget telah menjadi "Swiss Army knife" layout untuk pengembang aplikasi Android. Namun, menambahkan animasi kompleks didalamnya, meskipun mungkin, dapat cukup memakan waktu. Itulah sebabnya mengapa Google memperkenalkan widget MotionLayout di I/O 2018. Widget MotionLayout, yang sekarang bagian dari Android Support Library, extend dari ConstraintLayout widget. Ini adalah sebuah widget yang unik yang memungkinkan Anda untuk membuat animasi dengan hanya menggunakan XML. Selain itu, itu menawarkan kendali yang mantap atas semua animasi. Dalam tutorial ini, saya akan menunjukkan kepada Anda bagaimana untuk menambahkannya ke proyek-proyek Android Studio Anda dan membuat beberapa animasi yang berbeda-beda Prasyarat Untuk mengikuti tutorial ini, Anda akan memerlukan Android Studio atau lebih tinggi perangkat atau emulator yang menjalankan Android API tingkat 21 atau lebih tinggi pemahaman dasar tentang ConstraintLayout widget 1. Menambahkan dependensi Untuk dapat menggunakan MotionLayout widget dalam proyek Android Studio Anda, Anda harus memiliki versi terbaru dari Constraint Layout support library sebagai dependency implementation. Selain itu, untuk menghindari konflik versi, pastikan Anda menyertakan ketergantungan untuk versi stabil terbaru v7 appcompat support library. Dengan demikian, tambahkan kode berikut untuk modul app file 1 implementation ' 2 implementation ' 2. Menentukan Layout MotionLayout widget dapat melakukan segala ConstraintLayout widget dapat lakukan. Oleh karena itu, Anda dapat dengan bebas mengganti setiap contoh keduanya Untuk sekarang, bagaimanapun, saya sarankan Anda membuat file XML baru layout dan menambahkan MotionLayout widget itu sebagai elemen root. 1 2 8 9 10 11 Selama tutorial ini, kita akan menganimasikan ImageView widget. Jadi tambahkan sebagai first child dari layout. 1 Anda bebas untuk menggunakan setiap drawable sebagai sumber ImageView widget. Dalam kode di atas, saya menggunakan color drawable. Selanjutnya, tambahkan tombol Anda dapat menekan untuk memulai animasi. Kode berikut memperlihatkan bagaimana posisi di pusat tata letak 1 Selain itu, untuk memantau progress animasi, tambahkan SeekBar widget untuk tata letak dan posisi itu di bawah tombol. Berikut adalah bagaimana 1 Terakhir, karena ada sebuah di-klik event handler yang berhubungan dengan tombol, pastikan Anda menentukan dalam activity Anda. 1 fun startv View { 2 // More code here 3 } 3. Membuat Motion Scene Anda mungkin telah memperhatikan bahwa kita tidak menambahkan ketidakleluasaan widget ImageView sedangkan menentukan tata letak. Itu karena kami akan menambahkan mereka ke motion scene. Motion secene adalah sebuah file XML yang berisi rincian tentang animasi yang Anda inginkan untuk membuat dengan MotionLayout widget. Untuk membuat motion secene baru, buatlah sebuah file XML resource dan menambahkan elemen MotionScene untuk itu. 1 2 5 6 7 8 Motion scene berisi unsur-unsur ConstraintSet yang menentukan constraint yang harus diterapkan ke widget pada titik-titik berbeda dalam animasi. Motion secene file biasanya berisi dua constraint set satu untuk awal animasi dan satu untuk akhir. Kode berikut memperlihatkan bagaimana untuk membuat dua constraint set yang akan membantu MotionLayout widget bergerak ImageView widget dari sudut kanan bawah layar ke sudut kiri atas 1 2 8 9 10 11 17 Perhatikan bahwa setiap elemen ConstraintSet selalu harus menentukan posisi yang diinginkan dan ukuran yang diinginkan. Hal ini penting karena itu akan menimpa informasi sebelumnya ditata layout. Untuk membantu MotionLayout widget memahami urutan di mana constraint set yang harus diterapkan, berikutnya Anda harus membuat sebuah elemen Transition. Dengan menggunakan atributnya intuitif bernama constraintSetStart dan constraintSetEnd, Anda dapat menentukan set mana harus diterapkan pertama dan yang terakhir. Elemen Transition juga memungkinkan Anda untuk menentukan durasi animasi. 1 6 7 Pada titik ini, motion scene ini lengkap. Namun, MotionLayout widget masih tidak menyadari hal itu. Jadi pergi kembali ke layout file XML, tambahkan atribut layoutDescription widget, dan set nilainya ke nama file adegan gerak. Jika nama file adegan gerak widget MotionLayout Anda sekarang harus terlihat seperti ini 1 9 10 ... 11 12 4. Mulai animasi Ketika Anda menjalankan aplikasi, MotionLayout widget akan secara otomatis berlaku kendala yang mengatur ditetapkan dalam atribut constraintSetStart elemen Transition. Oleh karena itu, untuk memulai animasi, semua yang perlu Anda lakukan adalah memanggil metode transitionToEnd widget. Kode berikut, yang harus ditambahkan ke event di klik handler yang Anda buat pada langkah sebelumnya, menunjukkan Anda bagaimana 1 Pada titik ini, jika Anda menjalankan app dan tekan tombol, Anda harus dapat melihat ImageView widget bergerak dengan lancar di layar. 5. Menangani Event Animasi Dengan melampirkan sebuah objek TransitionListener MotionLayout widget, Anda dapat memantau progress animasi. 1 2 object { 3 // More code here 4 } 5 Antarmuka TransitionListener memiliki dua metode yang abstrak, dan Android Studio akan secara otomatis menghasilkan Rintisan bertopik bagi mereka. Metode onTransitionCompleted disebut ketika transisi dari satu constraint diatur ke lain selesai. Untuk sekarang, mari kita menggunakannya untuk me-reset constraint ImageView widget dengan memanggil metode transitionToStart di dalamnya. 1 override fun onTransitionCompletedmotionLayout MotionLayout?, 2 currentId Int { 3 ifcurrentId == { 4 // Return to original constraint set 5 6 } 7 } Metode onTransitionChange ini dipanggil setiap kali perubahan progress animasi. Dengan demikian, progress adalah angka floating-point yang terletak antara nol dan satu. Kode berikut memperlihatkan bagaimana untuk memperbarui SeekBar berdasarkan progress animasi 1 override fun onTransitionChangemotionLayout MotionLayout?, 2 startId Int, 3 endId Int, 4 progress Float { 5 = ceilprogress * 100.toInt 6 } Silahkan jalankan app lagi untuk melihat dua animasi sekarang. 6. Membuat Key Frames Dalam animasi kami, ImageView widget bergerak dalam path yang tampak seperti garis lurus. Itu adalah karena MotionLayout widget diberikan hanya dua poin untuk bekerja dengan titik awal, yang di bagian bawah sudut kanan layar, dan titik akhir, yang adalah di sudut kiri atas layar. Jika Anda ingin mengubah bentuk dari path, Anda harus memberikan beberapa poin menengah, yang terletak antara titik awal dan akhir. Untuk melakukannya, Anda harus membuat key frame baru. Sebelum Anda mulai membuat key frame, Anda harus menambahkan elemen KeyFrameSet elemen Transition adegan gerak Anda. Di dalam element baru, Anda akan bebas untuk membuat sejumlah key frame. 1 2 3 MotionLayout widget mendukung banyak jenis key frame. Dalam tutorial ini, kita akan bekerja dengan hanya dua tipe KeyPosition frame dan KeyCycle frame. KeyPosition frame adalah orang-orang yang membantu Anda mengubah bentuk path. Sementara membuat mereka, pastikan Anda memberikan ID dari target widget, posisi sepanjang waktu, yang dapat menjadi nomor antara 0 dan 100, dan masukkan koordinat X atau Y yang ditentukan sebagai persentase. Koordinat dapat dibandingkan sebenarnya X atau Y kapak atau menjadi relatif terhadap jalan itu sendiri. Kode berikut memperlihatkan bagaimana untuk membuat dua key frame yang memaksa ImageView widget untuk mengikuti path yang menghindari tabrakan dengan tombol dan seek bar 1 6 7 Jika Anda menjalankan app sekarang, Anda akan melihat sebuah animasi yang terlihat seperti ini Anda adalah, tentu saja, bebas untuk menambahkan key frame lebih. Sebagai contoh, dengan menambahkan key frame berikut menjelang akhir timeline, Anda dapat membuat widget ImageView mengikuti path lebih bergelombang 1 Dengan menggunakan frame KeyCycle bersama dengan KeyPosition frame, Anda dapat menambahkan osilasi untuk animasi. Sekaligus menciptakan itu, Anda harus sekali lagi memberikan ID dari target widget, posisi sepanjang timeline, dan masukkan nilai properti yang terombang-ambing bolak. Selain itu, Anda harus mengkonfigurasi osilator dengan menyediakan rincian seperti bentuk gelombang untuk menggunakan dan periode gelombang. Kode berikut menciptakan frame KeyCycle yang menggunakan osilator gelombang sinus untuk secara berkala memutar ImageView widget dengan 50 derajat 1 Jalankan app lagi, Anda akan melihat sebuah animasi yang terlihat seperti ini 7. Membua tWidget Animasi interaktif Semua saat ini, Anda telah telah menekan sebuah tombol untuk memulai animasi. Sebuah tombol, namun, ini tidak selalu diperlukan karena MotionLayout widget memungkinkan Anda untuk langsung pasang event handler untuk widget yang sedang menjalankan animasi. Saat ini mendukung di-klik dan on-swipe event. Misalnya, Anda dapat menambahkan elemen OnClick berikut, yang menargetkan ImageView widget, di dalam elemen Transition motion scene Anda untuk membuat tombol redundant 1 Demikian pula, Anda dapat menggunakan elemen OnSwipe untuk memungkinkan pengguna untuk secara manual menarik ImageView widget di layar. Sementara membuat elemen, Anda harus memastikan Anda memberikan arah drag dan sisi widget yang harus bertindak sebagai drag handle. 1 Jika Anda menjalankan app lagi, Anda sekarang harus mampu men-drag ImageView widget. Kesimpulan Anda sekarang tahu bagaimana cara menggunakan MotionLayout widget untuk cepat menambahkan animasi kompleks, interaktif untuk aplikasi Android Anda. Anda dapat yakin bahwa animasi akan berjalan tanpa lag apapun atau jitter pada sebagian besar perangkat, selama anda menghindari nested view It's worth dicatat bahwa rilis mendatang Android Studio akan mencakup gerak Editor visual, yang kemungkinan akan lebih meningkatkan kegunaan dari widget. Untuk selengkapnya, lihat dokumentasi resmi. Sejak Android widget aplikasi telah memungkinkan pengguna mendapatkan informasi, mengendalikan aplikasi, dan melakukan tugas penting, semuanya dari kenyamanan homescreens mereka. Dalam rangkaian bagian dua ini, saya akan menunjukkan kepada Anda bagaimana memberikan pengalaman pengguna yang lebih baik dengan menambahkan widget aplikasi ke proyek Androidmu. Pada akhir seri, Anda akan membuat widget yang Menampilkan beberapa kumpulan data. Melakukan tindakan unik saat pengguna berinteraksi dengan View tertentu di dalam tata letak widget itu. Pembaruan secara otomatis setiap kali satu periode waktu telah berlalu. Pembaruan dengan data baru sebagai respons terhadap interaksi pengguna. Di postingan pertama ini, kami akan menggunakan tools bawaan Android Studio untuk menghasilkan dengan cepat dan mudah semua file yang dibutuhkan untuk mengirimkan apa saja widget aplikasi Android. Kami kemudian akan memperluas fondasi ini untuk membuat widget yang mengambil dan menampilkan data dan merespons event onClick. Apa itu Widget Aplikasi? Widget aplikasi adalah aplikasi miniatur ringan yang biasanya termasuk dalam salah satu kategori berikut Widget informasi. Widget yang tidak dapat discroll yang menampilkan informasi penting, seperti widget cuaca atau jam. Koleksi widget. Widget yang dapat discroll yang menampilkan serangkaian elemen terkait, seperti galeri foto atau artikel dari publikasi yang sama. Widget koleksi biasanya didukung oleh sumber data, seperti Array atau database. Widget koleksi harus menyertakan ListView, GridView, StackView, atau AdapterViewFlipper. Kontrol widget. Widget yang bertindak sebagai remote control untuk aplikasi Anda, memungkinkan pengguna untuk memicu fungsi yang sering digunakan tanpa perlu meluncurkan aplikasi Anda. Aplikasi yang memutar musik sering memberikan widget yang memungkinkan pengguna bermain, menjeda, dan melewatkan trek langsung dari homescreen mereka. Widget hibrida. Mengapa membatasi diri Anda pada satu kategori, kapan Anda bisa memilih elemen ceri dari beberapa kategori? Sadarilah bahwa pencampuran dan pencocokan dapat menyebabkan pengalaman pengguna yang membingungkan, jadi untuk hasil terbaik Anda harus merancang widget Anda dengan satu kategori dan kemudian menambahkan elemen dari kategori lain sesuai kebutuhan. Misalnya, jika Anda ingin membuat widget yang menampilkan ramalan cuaca hari ini, namun juga memungkinkan pengguna melihat ramalan untuk hari dan lokasi yang berbeda, maka Anda harus membuat widget informasi dan kemudian menambahkan elemen kontrol yang diperlukan sesudahnya. Selain fungsi di atas, sebagian besar widget merespons event onClick dengan meluncurkan aplikasi yang terkait, serupa dengan shortcut aplikasi, namun juga dapat memberikan akses langsung ke konten tertentu dalam aplikasi itu. Widget aplikasi harus ditempatkan di dalam App Widget Host, yang paling umum adalah stok homescreen Android, walaupun ada beberapa Host Widget App pihak ketiga, seperti Nova Launcher dan Apex Launcher yang populer. Sepanjang seri ini, saya akan berbicara tentang widget sebagai sesuatu yang Anda tempatkan di homescreen, namun jika Anda memiliki ingatan samar untuk bisa memasang widget di layar lockscreen, ini bukan sekadar mimpi indah! Antara tingkat API 17 dan 20, adalah mungkin untuk menempatkan widget pada homescreen atau layar lockscreen. Sejak widget lockscreen sudah tidak berlaku lagi di level API 21, dalam seri ini kita akan membuat widget untuk homescreen saja. Mengapa Harus Membuat Widget Aplikasi? Ada beberapa alasan mengapa Anda harus mempertimbangkan untuk menambahkan widget aplikasi ke proyek Android terbarumu. Akses Mudah terhadap Informasi dan Fitur Penting Widget memungkinkan pengguna melihat informasi terpenting aplikasi Anda, langsung dari homescreen mereka. Misalnya, jika Anda telah mengembangkan aplikasi kalender, Anda mungkin membuat widget yang menampilkan detail tentang janji temu pengguna berikutnya. Ini jauh lebih mudah daripada memaksa pengguna meluncurkan aplikasimu dan berpotensi menavigasi beberapa layar, hanya untuk mengambil informasi yang sama. Jika Anda mengembangkan widget kontrol atau widget hibrida dengan elemen kontrol maka pengguna juga bisa menyelesaikan tugas langsung dari homescreen mereka. Melanjutkan contoh kalender kami, widget Anda memungkinkan pengguna membuat, mengedit dan membatalkan janji temu, berpotensi bahkan tanpa harus meluncurkan aplikasimu. Ini berpotensi menghapus beberapa langkah navigasi dari beberapa tugas terpenting aplikasimu, yang hanya dapat memberi dampak positif pada pengalaman pengguna! Akses Langsung ke Semua Layar Paling Penting dari Aplikasimu Mengetuk widget biasanya membawa pengguna ke tingkat atas aplikasi terkait, mirip dengan shortcut aplikasi. Namun, tidak seperti shortcut aplikasi, widget dapat menautkan ke area tertentu dalam aplikasi yang terkait. Misalnya, mengetuk pemberitahuan email Baru yang diterima oleh widget mungkin meluncurkan aplikasi dengan pesan baru yang telah dipilih, sambil mengetuk Create new email mungkin membawa mereka langsung ke Aktivitas ComposeEmail aplikasi Anda. Dengan menyematkan beberapa tautan dalam tata letak widget Anda, Anda dapat memberikan akses mudah satu ketukan ke semua Aktivitas terpenting dari aplikasi Anda. Buat Basis Pengguna yang Loyal dan Terlibat Sebagai keseluruhan ledakan Pokemon Go dan penurunan selanjutnya terbukti, mendapatkan satu ton orang untuk mendownload aplikasi Anda tidak secara otomatis menjamin basis pengguna loyal yang masih akan menggunakan aplikasi Anda hari, minggu, atau bahkan berbulan-bulan. Pengguna seluler adalah kelompok yang cukup mudah berubah, dan dengan memori yang tersedia di smartphone atau tablet Android khas Anda setiap saat, mudah kehilangan jejak aplikasi yang telah Anda pasang pada perangkat Anda. Kemungkinannya adalah, jika Anda mengangkat smartphone Android atau tablet Anda sekarang dan menggesek app drawer, Anda akan menemukan setidaknya satu aplikasi yang benar-benar Anda lupakan. Dengan membuat widget yang menampilkan semua informasi dan fitur yang paling berharga dari aplikasi Anda, Anda memastikan bahwa setiap kali pengguna melirik homescreen mereka, mereka hanya diingatkan tidak hanya bahwa aplikasi Anda ada, namun juga memiliki konten yang bagus. Menambahkan Widget Aplikasi ke Proyek Anda Bahkan widget yang paling dasar membutuhkan banyak kelas dan sumber daya, namun saat Anda membuat widget menggunakan alat bawaan Android Studio, semua file ini dibuat untuk Anda. Karena tidak ada gunanya membuat pengembangan Android lebih sulit dari yang seharusnya, kami akan menggunakan tool ini untuk mulai memulai membangun widget kami. Widget aplikasi harus selalu dikaitkan dengan aplikasi yang mendasarinya, jadi buatlah proyek Android baru dengan pengaturan pilihan Anda. Setelah Android Studio membangun proyek Anda, pilih File> New > Widget > AppWidget dari toolbar Android Studio. Ini meluncurkan menu Configure Component dimana Anda dapat menentukan beberapa pengaturan awal widget Anda. Sebagian besar pilihan ini cukup jelas, namun ada beberapa hal yang patut ditelusuri secara lebih rinci. Resizable API 12+ Jika widget resizable, maka pengguna bisa menambah atau mengurangi jumlah 'cells' yang ditempatinya di homescreen mereka, dengan lama menekan widget dan kemudian menyeret pegangan biru yang muncul di seputar garis besarnya. Bila memungkinkan, Anda harus memberi widget kemampuan untuk mengubah ukuran secara horizontal dan vertikal, karena ini akan membantu widget Anda menyesuaikan diri dengan berbagai konfigurasi layar dan pengaturan homescreen. Jika pengguna memiliki homescreen yang berantakan dengan serius, mungkin widget Anda mungkin tidak muat di homescreen tersebut, kecuali widget Anda dapat disesuaikan. Jika Anda ingin membuat widget yang tidak dapat resizeable, buka menu dropdown Resizable dan pilih Only horizontal, Only vertikal, atau Not resizable. Lebar Minimum dan Tinggi Lebar minimum dan tinggi menentukan jumlah cell yang biasanya akan menempati widget Anda saat ditempatkan di homescreen. Untuk widget resizable, ini adalah yang terkecil pengguna dapat ukurkan widget Anda, sehingga Anda dapat menggunakan nilai-nilai ini untuk mencegah pengguna dari mengecilkan widget Anda ke titik di mana ia menjadi tidak dapat digunakan. Jika widget Anda tidak resizable, maka nilai minimum dan tinggi minimum adalah lebar permanen dan tinggi widget Anda. Untuk meningkatkan kesempatan memasang widget dengan nyaman di berbagai homescreen, disarankan agar Anda tidak menggunakan apapun yang lebih besar dari 4 kali 4 untuk nilai lebar dan tinggi minimum. Sementara lebar dan tinggi yang tepat dari 'cells' homescreen bervariasi antar perangkat, Anda bisa mendapatkan perkiraan kasar berapa banyak DPIs dots per inch widget Anda akan menempati dengan menggunakan rumus berikut 1 70 × number of cells -30 Misalnya, jika widget Anda adalah 2 x 3 cell 1 70 x 2 - 30 = 110 2 70 x 3 - 30 = 180 Widget ini akan menempati sekitar 110 x 180 DPIs pada homescreen pengguna. Jika nilai ini tidak sesuai dengan dimensi cell perangkat tertentu, maka Android akan secara otomatis memutar widget Anda ke ukuran cell terdekat. Tinjau semua opsi di menu ini dan buat perubahan yang diinginkan saya tetap berpegang pada default dan kemudian klik Finish. Android Studio sekarang akan menghasilkan semua file dan sumber daya yang dibutuhkan untuk mengirimkan widget aplikasi dasar. Widget ini tidak terlalu menarik ini pada dasarnya hanyalah blok biru dengan kata Contoh tertulis di atasnya namun widget fungsional yang dapat Anda uji pada perangkat Anda. Untuk menguji widget Install proyek Anda di perangkat fisik Android atau AVD Android Virtual Device. Luncurkan Android's Widget Picker dengan menekan sembarang ruang kosong di homescreen, lalu ketuk kata Widget yang muncul di bagian bawah layar. Gesek melalui Penjelajah Widget sampai Anda melihat widget Contoh biru. Tekan ke bawah widget ini untuk memasukkannya ke homescreen Anda. Masukkan mode resize dengan menekan widget sampai set pegangan biru muncul, lalu seret pegangan ini untuk menambah atau mengurangi jumlah cell yang dimiliki widget ini. Menjelajahi File Widget Aplikasi Widget ini mungkin tidak terlalu banyak, tapi mencakup semua kelas dan sumber daya yang akan kita kerjakan sepanjang sisa seri ini, jadi mari kita lihat file-file ini dan peran yang mereka mainkan dalam memberikan widget aplikasi. Penyedia widget adalah kelas kenyamanan yang berisi metode yang digunakan untuk interface pemrograman dengan widget melalui broadcast event. Di bawah tenda, widget pada dasarnya hanya BroadcastReceiver yang dapat merespons berbagai tindakan, seperti pengguna yang memasang contoh widget baru di homescreen mereka. Yang paling menonjol, penyedia widget aplikasi adalah tempat Anda akan menentukan metode siklus hidup widget Anda, yang bisa dipanggil untuk setiap contoh widget atau hanya untuk contoh tertentu. Meskipun kita cenderung menganggap widget sebagai entitas tunggal yang ditempatkan pengguna di homescreen mereka sekali, tidak ada yang mencegahnya menciptakan beberapa contoh widget yang sama. Mungkin widget Anda dapat disesuaikan, sampai pada titik di mana berbagai contoh dapat memiliki fungsi yang berbeda secara signifikan, atau mungkin pengguna hanya menyukai widget Anda sehingga mereka ingin memasangnya di seluruh homescreen mereka! Mari kita lihat berbagai metode siklus hidup yang dapat Anda terapkan di kelas penyedia widget Event onReceive Android memanggil method onReceive pada BroadcastReceiver yang terdaftar setiap kali event yang ditentukan terjadi. Anda biasanya tidak perlu menerapkan method ini secara manual, karena kelas AppWidgetProvider secara otomatis menyaring semua siaran widget dan operasi delegasi ke metode yang sesuai. Event onEnabled Method lifecycle onEnabled disebut sebagai respons terhadap ACTION_APPWIDGET_ENABLED, yang disiarkan saat pengguna menambahkan contoh pertama widget Anda ke layar awal mereka. Jika pengguna membuat dua contoh widget Anda, maka onEnabled dipanggil untuk instance pertama, namun tidak untuk yang kedua. Metode siklus hidup ini adalah tempat Anda melakukan setup yang hanya perlu dilakukan sekali untuk semua contoh widget, seperti membuat database atau menyiapkan layanan. Perhatikan bahwa jika pengguna menghapus semua contoh widget Anda dari perangkat mereka dan kemudian membuat instance baru, maka ini digolongkan sebagai instance pertama, dan akibatnya method onEnabled akan dipanggil sekali lagi. Event onAppWidgetOptionsChanged Metode siklus hidup ini disebut sebagai tanggapan terhadap ACTION_APPWIDGET_OPTIONS_CHANGED, yang disiarkan saat contoh widget dibuat dan setiap kali widget diubah ukurannya. Anda dapat menggunakan metode ini untuk mengungkapkan atau menyembunyikan konten berdasarkan ukuran pengguna widget Anda, meskipun callback ini hanya didukung di Android dan yang lebih tinggi. Event onUpdate Metode siklus hidup onUpdate disebut setiap waktu Interval update telah berlalu. Pengguna melakukan tindakan yang memicu metode onUpdate. Pengguna menempatkan contoh widget baru di homescreen mereka kecuali widget Anda berisi Aktivitas konfigurasi, yang akan kita bahas di bagian dua. Metode siklus hidup onUpdate juga disebut sebagai respons terhadap ACTION_APPWIDGET_RESTORED, yang disiarkan setiap kali sebuah widget dipulihkan dari cadangan. Untuk sebagian besar proyek, metode onUpdate akan berisi sebagian besar kode penyedia widget, terutama karena ini juga tempat Anda mendaftarkan penangan event widget Anda. Event onDeleted Method onDeleted dipanggil setiap kali sebuah instance dari widget Anda dihapus dari App Widget Host, yang memicu siaran ACTION_APPWIDGET_DELETED sistem. Event onDisabled Metode ini disebut sebagai respons terhadap siaran ACTION_APPWIDGET_DISABLED, yang dikirim saat contoh terakhir widget Anda dihapus dari Host Widget Aplikasi. Misalnya, jika pengguna membuat tiga contoh widget Anda, metode onDisabled hanya akan dipanggil saat pengguna menghapus contoh ketiga dan terakhir dari homescreen mereka. Metode lifecycle onDisabled adalah di mana Anda harus membersihkan sumber daya yang Anda buat di onEnabled, jadi jika Anda membuat database di onEnabled, maka Anda akan menghapusnya di onDisabled. Event onRestored Metode onRestored dipanggil untuk menanggapi ACTION_APPWIDGET_RESTORED, yang disiarkan setiap kali sebuah instance dari widget aplikasi dipulihkan dari cadangan. Jika Anda ingin mempertahankan data yang persisten, Anda harus mengganti metode ini dan memetakan AppWidgetIds sebelumnya ke nilai yang baru, misalnya 1 public void onRestoredContext context, int[] oldWidgetIds, 2 int[] newWidgetIds { 3 } 4 } Jika Anda membuka file yang dibuat oleh Android Studio secara otomatis, Anda akan melihat bahwa aplikasi tersebut sudah berisi implementasi beberapa metode siklus hidup widget ini 1 import 2 import 3 import 4 import 5 6 //All widgets extend the AppWidgetProvider class// 7 8 public class NewAppWidget extends AppWidgetProvider { 9 10 static void updateAppWidgetContext context, AppWidgetManager appWidgetManager, 11 int appWidgetId { 12 13 CharSequence widgetText = 14 15 //Load the layout resource file into a RemoteViews object// 16 17 RemoteViews views = new RemoteViews 18 widgetText; 19 20 //Tell the AppWidgetManager about the updated RemoteViews object// 21 22 views; 23 } 24 25 //Define the onUpdate lifecycle method// 26 27 Override 28 public void onUpdateContext context, AppWidgetManager appWidgetManager, int[] appWidgetIds { 29 30 //appWidgetIds is an array of IDs that identifies every instance of your widget, so this 31 //particular onUpdate method will update all instances of our application widget// 32 33 for int appWidgetId appWidgetIds { 34 updateAppWidgetcontext, appWidgetManager, appWidgetId; 35 } 36 } 37 38 Override 39 40 //Define the onEnabled lifecycle method// 41 42 public void onEnabledContext context { 43 44 //To do// 45 } 46 47 Override 48 49 //Define the onDisabled method// 50 51 public void onDisabledContext context { 52 53 //To do// 54 55 } 56 } File Layout Widget File res/layout/ mendefinisikan layout widget kita, yang saat ini hanya latar belakang biru dengan kata Example yang tertulis di dalamnya. Perbedaan utama antara membuat tata letak untuk Aktivitas dan membuat tata letak untuk widget adalah tata letak widget harus didasarkan pada RemoteViews, karena ini memungkinkan Android menampilkan tata letak dalam proses di luar aplikasi Anda yaitu di homescreen pengguna. RemoteViews tidak mendukung setiap jenis layout atau View, jadi saat membangun layout widget, Anda terbatas pada tipe berikut AnalogClock Button Chromometer FrameLayout GridLayout ImageButton ImageView LinearLayout ProgressBar RelativeLayout TextView ViewStub Jika Anda membuat widget koleksi, Anda juga dapat menggunakan jenis berikut saat aplikasi Anda terpasang pada Android dan yang lebih tinggi AdapterViewFlipper GridView ListView StackView ViewFlipper Subclass dan keturunan dari Views dan kelas di atas tidak didukung. Klik dan Gesek Untuk memastikan pengguna tidak sengaja berinteraksi dengan widget saat mereka menavigasi di sekitar layar awal mereka, widget hanya akan merespons event OnClick. Pengecualiannya adalah saat pengguna menghapus widget dengan menyeretnya ke dalam tindakan Uninstall homescreen mereka, karena dalam situasi ini widget Anda akan merespons isyarat gesek vertikal. Namun, karena interaksi ini dikelola oleh sistem Android, Anda tidak perlu khawatir menerapkan dukungan tangkapan vertikal di aplikasi Anda. File Info Widget File res/xml/ juga dikenal sebagai file AppWidgetProviderInfo mendefinisikan sejumlah properti widget, termasuk banyak pengaturan yang Anda pilih di menu Configure Component Android Studio, seperti dimensi minimum widget Anda dan apakah itu dapat ditempatkan di layar lockscreen. File konfigurasi juga menentukan seberapa sering widget Anda meminta informasi baru dari layanan update App Widget. Memutuskan frekuensi ini mengharuskan Anda untuk mencapai keseimbangan yang rumit interval pembaruan yang lebih lama akan membantu menghemat baterai perangkat, namun menempatkan jarak Anda terlalu jauh dan widget Anda mungkin menampilkan informasi yang kedaluwarsa. Anda juga harus sadar bahwa sistem akan membangunkan perangkat tidur agar bisa mendapatkan informasi baru, jadi walaupun memperbarui widget Anda setiap setengah jam sekali mungkin tidak terdengar berlebihan, ini bisa mengakibatkan widget Anda membangunkan perangkat setiap 30 menit sekali, yaitu akan mempengaruhi konsumsi baterai Jika Anda membuka file proyek Anda, Anda akan melihat bahwa itu sudah mendefinisikan sejumlah properti widget, termasuk interval update. 1 2 Jika Anda memberi pilihan pada pengguna untuk memasang widget di layar lockscreen, ingatlah bahwa isi widget akan terlihat oleh siapa saja yang melirik layar lockscreen. Jika tata letak 'default' Anda berisi informasi pribadi atau berpotensi sensitif, maka Anda harus menyediakan tata letak alternatif agar widget Anda dapat digunakan saat ditempatkan di layar lockscreen. File res/values/ Widget tidak terlihat terbaik saat mereka saling menekan, atau saat mereka berada di tepi homescreen. Setiap kali widget Anda ditampilkan di Android atau lebih tinggi, sistem operasi Android secara otomatis memasukkan beberapa padding antara frame widget dan kotak pembatas. Jika aplikasi Anda bergetar pada perangkat yang menjalankan apa saja lebih awal dari Android widget Anda harus memasok padding ini sendiri. Saat Anda membuat widget menggunakan menu File > New > Widget > AppWidget, Android Studio menghasilkan dua file yang menjamin widget Anda selalu memiliki padding yang benar, terlepas dari versi Android yang terpasang di dalamnya. Anda akan menemukan kedua file ini di folder res proyek Anda res/values/ File ini mendefinisikan 8dpi padding yang perlu diberikan widget Anda kapan pun terpasang di level API 13 atau yang lebih baru. 1 8dp res/values-v14/ Karena Android dan yang lebih tinggi secara otomatis menerapkan padding ke setiap widget, padding yang disediakan widget Anda akan menjadi tambahan padding default ini. Untuk memastikan widget Anda sejajar dengan ikon aplikasi atau widget lain yang telah ditempatkan pengguna di layar awal mereka, file ini menentukan bahwa widget Anda seharusnya tidak memberikan margin tambahan untuk Android dan yang lebih tinggi 1 0dp Margin default ini membantu menyeimbangkan layar homescreen secara visual, jadi Anda harus menghindari modifikasi - Anda sama sekali tidak ingin widget Anda menjadi yang aneh. Tata letak widget Anda sudah mengacu pada nilai dimensi ini androidpadding="dimen/widget_margin" jadi hati-hati jangan sampai mengubah garis ini saat mengerjakan tata letak widget Anda. Meskipun file ini adalah cara termudah untuk memastikan widget Anda selalu memiliki padding yang benar, jika teknik ini tidak sesuai untuk proyek khusus Anda, maka salah satu alternatifnya adalah membuat beberapa latar belakang sembilan patch dengan margin yang berbeda untuk tingkat API 14 dan lebih tinggi, dan level API 13 dan yang lebih rendah. Anda dapat membuat sembilan patch menggunakan tool 9-patch Android Studio's Draw, atau dengan program edting grafis khusus seperti Adobe Photoshop. Proyek Manifest Dalam file proyek Anda, Anda perlu mendaftarkan widget Anda sebagai BroadcastReceiver dan menentukan penyedia widget dan file AppWidgetProviderInfo yang widget ini harus digunakan. Jika Anda membuka manifest, Anda akan melihat bahwa Android Studio telah menambahkan semua informasi ini untuk Anda. 1 //The widget’s AppWidgetProvider; in this instance that’s 2 3 4 5 6 //An intent filter for the action// 7 8 9 10 11 17 18 19 Widget Picker Resource File res/drawable/ adalah sumber drawable yang mewakili widget Anda di Penjelajah Widget. Untuk mendorong pengguna memilih widget Anda dari semua opsi yang tersedia, drawable yang diinginkan ini harus menampilkan widget Anda, dikonfigurasikan dengan benar pada layar utama dan menampilkan banyak konten yang bermanfaat. Saat membuat widget menggunakan menu File > New > Widget > AppWidget, Android Studio akan menghasilkan pratinjau drawable yang dapat dicadangkan secara otomatis Pada bagian kedua, saya akan menunjukkan kepada Anda bagaimana dengan cepat dan mudah mengganti stok drawable ini, dengan menggunakan tool bawaan Android Studio untuk menghasilkan gambar pratinjau Anda sendiri. Membangun Layout Anda Sekarang kita memiliki gambaran bagaimana file-file ini berkumpul untuk membuat widget aplikasi, mari kita memperluas fondasi ini dan membuat widget yang tidak lebih dari sekedar menampilkan kata Example pada latar belakang biru! Kami akan menambahkan fungsi berikut ke widget kami TextView yang menampilkan label ID Widget Aplikasi. TextView yang mengambil dan menampilkan ID untuk contoh widget tertentu ini. TextView yang merespons event onClick dengan meluncurkan browser default pengguna dan memuat URL. Sementara kita bisa menarik tiga TextViews dari palet Android Studio dan menjatuhkannya ke kanvas, jika widget Anda terlihat bagus maka pengguna akan cenderung menempatkannya di homescreen mereka, jadi mari kita membuat beberapa sumber yang akan memberi widget ekstra visual menarik. Buat Latar Belakang Widget Saya akan membuat persegi panjang dengan sudut membulat, latar belakang gradien, dan border, yang akan saya gunakan sebagai latar belakang widget saya Klik kontrol folder proyek drawable Anda dan pilih New > Drawable resource file. Beri nama file ini widget_background dan klik OK. Masukkan kode berikut 1 2 3 androidshape="rectangle"> 4 5 8 9 13 14 19 2. Buat Latar Belakang TextView Selanjutnya, buat bentuk untuk digunakan sebagai latar belakang TextViews kami Klik kontrol folder proyek drawable Anda dan pilih New > Drawable resource file. Nama file ini tvbackground lalu klik OK. Masukkan kode berikut 1 2 3 androidshape="rectangle" > 4 5 8 9 10 11 16 3. Buat Beberapa Styles Saya juga akan menggunakan styles berikut widget_text. Efek bold yang akan saya terapkan pada teks widget. widget_views. Berbagai margin dan padding yang akan saya terapkan pada TextViews saya. Buka file proyek Anda dan tambahkan yang berikut ini 1 2 8dp 3 12dp 4 12dp 5 12dp 6 bold 7 8 9 10 bold 11 4. Bangun Layout Anda! Sekarang semua sumber daya kita ada, kita bisa membuat layout widget kita. Buka file dan tambahkan yang berikut ini 1 7 8 14 15 21 22 28 29 30 37 Akhirnya, buka file dan tentukan sumber string yang kami rujuk dalam tata letak kami 1 2 Widget 3 App Widget ID\u0020 4 Tap to launch URL 5 Tab Desain Android Studio membantu Anda bekerja lebih efisien, dengan melihat pratinjau bagaimana tata letak Anda akan ditampilkan di berbagai perangkat. Beralih ke tab Desain jauh lebih mudah daripada menjalankan proyek Anda di perangkat Android setiap saat Anda membuat perubahan pada tata letak Anda. Frustratingly, Android Studio tidak menyediakan skin widget khusus, jadi secara default layout widget Anda diberikan seperti Activity biasa, yang tidak memberikan wawasan terbaik tentang bagaimana widget Anda akan terlihat di homescreen pengguna. Salah satu solusi potensial adalah membuat tata letak Anda menggunakan skin Android Wear Square, yang sebanding dengan ukuran dan bentuk widget aplikasi Android Pastikan tab Device Android Studio dipilih. Buka Device dropdown. Pilih 280 x 280, hdpi Square dari menu dropdown. Buat Widget Fungsionalitas Sekarang widget kita terlihat bagiannya, saatnya untuk memberikan beberapa fungsi Retrieve and display data. contoh widget diberikan sebuah ID saat ditambahkan ke Host Widget Aplikasi. ID ini tetap ada di seluruh siklus hidup widget dan akan benar-benar unik untuk contoh widget itu, bahkan jika pengguna menambahkan beberapa contoh widget yang sama ke homescreen mereka. Add an action. Kami akan membuat OnClickListener yang meluncurkan browser default pengguna dan memuat URL. Buka file penyedia widget dan hapus baris yang mengambil sumber string appwidget_text 1 static void updateAppWidgetContext context, AppWidgetManager appWidgetManager, 2 int appWidgetId { 3 4 //Delete the following line// 5 6 CharSequence widgetText = 7 RemoteViews views = new RemoteViews 8 widgetText; 9 10 views; 11 12 } Di blok updateAppWidget, sekarang kami perlu memperbarui placeholder dengan ID unik dari widget ini 1 RemoteViews views = new RemoteViews 2 Kita juga perlu membuat objek Intent yang berisi URL yang harus dimuat setiap kali pengguna berinteraksi dengan TextView ini. 1 Intent intent = new Intent 2 PendingIntent pendingIntent = 0, intent, 0; 3 4 //Attach an OnClickListener to our “launch_url” button, using setOnClickPendingIntent// 5 6 pendingIntent; Inilah file penyedia widget lengkap 1 import 2 import 3 import 4 import 5 import 6 import 7 import 8 9 public class NewAppWidget extends AppWidgetProvider { 10 11 static void updateAppWidgetContext context, 12 13 AppWidgetManager appWidgetManager, 14 15 int appWidgetId { 16 17 //Instantiate the RemoteViews object// 18 19 RemoteViews views = new RemoteViews 20 21 //Update your app’s text, using the setTextViewText method of the RemoteViews class// 22 23 24 25 //Register the OnClickListener// 26 27 Intent intent = new Intent 28 PendingIntent pendingIntent = 0, intent, 0; 29 pendingIntent; 30 views; 31 32 } 33 34 Override 35 public void onUpdateContext context, AppWidgetManager appWidgetManager, int[] appWidgetIds { 36 37 //Update all instances of this widget// 38 39 for int appWidgetId appWidgetIds { 40 updateAppWidgetcontext, appWidgetManager, appWidgetId; 41 } 42 } 43 } Menguji Widget Sudah waktunya memasang widget ini untuk di uji! Pasang proyek yang telah diperbarui di perangkat Android Anda. Untuk memastikan Anda melihat versi terbaru widget ini, hapus contoh widget yang ada dari homescreen Anda. Tekan sembarang bagian kosong dari homescreen, lalu pilih widget Anda dari Widget Picker. Reposisi dan ubah ukuran widget sesuai keinginan. Periksa apakah widget merespons peristiwa masukan pengguna, dengan memilih Ketuk untuk meluncurkan URL TextView. Widget aplikasi harus merespons dengan meluncurkan browser default Anda dan memuat URL. Jika Anda telah mengikuti tutorial ini, maka pada titik ini Anda memiliki widget yang berfungsi penuh yang menunjukkan banyak konsep inti widget aplikasi Android. Anda juga bisa mendownload proyek selesai dari repo GitHub kami. Kesimpulan Di postingan ini kami memeriksa semua file yang dibutuhkan untuk mengirimkan widget aplikasi Android, sebelum membangun widget yang mengambil dan menampilkan beberapa data unik dan merespons peristiwa masukan pengguna. Saat ini, ada satu fungsi utama yang masih hilang dari widget kami tidak pernah menampilkan informasi baru! Di postingan berikutnya, widget ini kita beri kemampuan untuk mengambil dan menampilkan data baru secara otomatis, berdasarkan jadwal yang telah ditetapkan, dan langsung merespon event input pengguna. Sementara itu, lihat beberapa postingan keren kami lainnya tentang pengembangan aplikasi Android di sini, di Envato Tuts+! Saat ini banyak yang menanyakan bagaimana cara menambahkan widget di Windows 10. Widget sendiri adalah sebuah fitur yang ada di Windows, berupa jendela kecil yang memuat info dinamis di layar desktop Windows. Pada layar desktop tersebut, ada papan khusus yang digunakan untuk menambahkan widget. Namun, pada Windows 10 fitur widget tersebut disembunyikan oleh sistem. Maka, pengguna harus mengaktifkannya secara manual agar dapat digunakan. Cara Menambahkan Widget di Windows 101. Menambahkan Widget Melalui Rainmeter2. Menambahkan Widget Melalui Microsoft Store3. Menambahkan Widget Melalui Gadget Pack4. Menambahkan Widget Melalui Aplikasi Widget Lainnya Cara menambahkan widget di Windows 10 tidak begitu sulit. Bagi yang belum pernah, mungkin membutuhkan panduan untuk melakukannya. Namun, sebelum memasuki cara menambahkan widget, pastikan terlebih dahulu versi OS Windows sudah update dan memiliki koneksi internet. Ada beberapa aplikasi yang bisa membantu untuk menampilkan widget di Windows 10. Jika Anda penasaran, simak panduan menampilkan widget Windows di bawah ini 1. Menambahkan Widget Melalui Rainmeter Cara menambahkan widget di Windows 10 yang pertama, yaitu melalui Rainmeter. Rainmeter cukup populer dan banyak digunakan mulai dari versi Windows 7 rilis. Aplikasi ini menyediakan varian widget yang bisa dipilih sesuai keinginan. Beberapa widget yang dapat ditampilkan dari aplikasi ini, yaitu Network Meter, CPU Meter, Kalender, Disk Usage, Monitor RAM dan lainnya. Pengguna juga bisa melakukan kustomisasi tampilan widget sendiri agar terlihat lebih menarik. Agar bisa segera menampilkan widget di Windows 10, silahkan ikuti langkah-langkahnya di bawah ini Pertama kali, download aplikasi itu, install sudah selesai install, langsung saja buka aplikasi Rainmeter terbuka, maka widget bawaan aplikasi akan ditampilkan secara otomatis pada layar Windows 10. Proses penambahan widget selesai. 2. Menambahkan Widget Melalui Microsoft Store Cara menampilkan widget di Windows 10 yang kedua, yaitu melalui Microsoft Store. Microsoft store menyediakan banyak widget yang bisa digunakan, di antaranya jam, Note, cuaca, suhu, kalender, dan lainnya. Berikut ini cara menampilkan widget melalui Microsoft Store Pertama-tama, buka kolom search itu, ketik Microsoft Store dan Anda akan dibawa ke halaman Microsoft Store, silakan cari widget yang ingin digunakan melalui kolom mencari widget Clock Desktop, maka akan muncul beberapa pilihan klik widget tersebut, kemudian pilih install. Tunggulah beberapa saat sampai proses instalasi selesai dan terpasang pada tampilan awal desktop. Untuk widget yang dipilih lewat Windows Store, ada beberapa yang memerlukan pengaturan terlebih dahulu sebelum ditampilkan pada halaman desktop. Maka, agar tampilan widget tidak mengecewakan, pastikan Anda sudah melakukannya. 3. Menambahkan Widget Melalui Gadget Pack Untuk menambahkan widget di Windows 10, bisa melalui aplikasi Gadget Pack. Aplikasi ini dapat digunakan untuk OS Windows 8 ke atas. Widget yang tersedia pada aplikasi ini sangat beragam dan gratis. Nah, jika ingin menggunakannya, silakan ikuti cara menampilkan widget di Windows 10 melalui Gadget Pack Pertama-tama, download aplikasi Gadget Pack, lalu proses download dan install selesai, silahkan buka aplikasi dan halaman awal, akan disajikan beberapa widget unggulan. Pilihlah daftar widget yang akan ditampilkan di layar dengan menekan tombol +, lalu drag ke layar desktop selesai. 4. Menambahkan Widget Melalui Aplikasi Widget Lainnya Selain dari cara menambahkan widget di Windows 10 di atas, ada banyak pilihan aplikasi lain yang tampilannya menyerupai widget. Adapun, aplikasi-aplikasi tersebut biasanya disediakan oleh platform. Namun, setiap aplikasi menyediakan tampilan widget yang berbeda-beda. Ada widget yang menampilkan jam dan kalender dengan tampilan yang unik. Ada pula yang menampilkan suhu terkini dan informasi penting lain yang dibutuhkan. Nah, berikut ini beberapa aplikasi lain untuk menampilkan widget di Windows 10 Windows Desktop GadgetsWidget HDWindowBlindWinaero Tweaker Selain dari beberapa aplikasi tersebut, masih banyak aplikasi sejenis lainnya. Cara menggunakannya sama seperti yang sudah dijelaskan di atas. Pertama kali jangan lupa untuk melakukan download dan install aplikasinya. Dari beberapa rekomendasi aplikasi penambah widget windows 10 di atas, silahkan pilih dan coba salah satu sesuai dengan keinginan. Pada setiap aplikasi, tentunya memiliki kekurangan dan kelebihannya masing-masing. Dengan mengaktifkan widget pada Windows, pengguna akan merasakan manfaat, seperti untuk mempercantik tampilan dan mengaktifkan fungsi tertentu. Hal penting yang perlu diingat sebelum memasang widget, sebaiknya pilih widget yang memiliki manfaat, tidak hanya sekedar memberikan tampilan yang menarik. Dengan widget tersebut, pengguna semestinya bisa memperoleh informasi penting. Keempat cara menampilkan widget di Windows yang dipaparkan di atas dijamin mudah dan simpel untuk dilakukan. Dengan menggunakan tampilan widget, pasti Windows akan tampak lebih keren dan menarik. Selain itu juga bermanfaat untuk mengetahui beberapa informasi, seperti tanggal, jam, cuaca dan lainnya. Memang beberapa di antaranya tidak menyajikan langkah-langkah penggunaan, hanya rekomendasi aplikasi. Meskipun begitu, pengguna dijamin tidak akan kesulitan ketika menerapkannya, karena caranya tidak jauh berbeda dengan aplikasi lain sejenisnya. Cara menambahkan widget di Windows 10 tidak begitu sulit, bukan? Melalui aplikasi-aplikasi pilihan di atas, siapapun bisa menampilkan widget yang keren dan menarik di Windows. Bahkan bagi yang belum pernah melakukannya pun akan mudah menerapkan cara-cara di atas. Selamat mencoba dan mendapatkan tampilan widget yang menawan dan pastinya informatif. Sejak Elementor , kami dapat membuat animasi di Elementor. Jika Anda pernah ingin tahu cara membuat animasi di Elementor, Anda berada di tempat yang tepat. Pembaruan Elementor itu telah menambahkan 4 efek gerakan berbeda yang dapat Anda gunakan di blog Anda. Kami akan memiliki ikhtisar tentang animasi ini. Mari kita mulai. Cara Menganimasikan Gambar di Elementor Dengan Elementor sekarang dimungkinkan untuk menambahkan animasi pada MemutarGulir HorisontalGulir VertikalSkala Mari kita telusuri secara konkret apa yang terjadi ketika Anda melakukan salah satu dari peristiwa ini. Buat Situs Web Luar Biasa Dengan Elementor pembuat halaman gratis terbaik Mulai sekarang Cara Membuat Animasi Berputar Dari Gambar Pada Elementor Jadi jika Anda ingin membuat animasi berputar untuk gambar Anda, Anda harus menuju ke Advanced Tab , buka bagian Motion Effects, dan aktifkan Scrolling Effects. Kemudian, Anda perlu mengklik opsi Rotate dan memilih ke arah mana gambar harus diputar. Jika Anda ingin membuat animasi yang halus, kami akan menentukan Kecepatan Slider menjadi 1. Tidak perlu mengubah viewport di sini., Terakhir, kita bisa mengatur  Y Anchor Point ke Top untuk membuat gambar berputar dari titik tersebut. Cara Membuat Animasi Slide Pada Scroll Pada Elementor Untuk membuat animasi slide, kita perlu mengaktifkan "Scrolling Effects" seperti yang kita lakukan di bagian sebelumnya. Sekarang kita akan mengaktifkan "Gulir Horizontal", dan menentukan konfigurasi berikut Arah GeserAtur  Kecepatan ke 10 Berikut adalah demo tentang bagaimana tampilan geser pada pengguliran. Cara Membuat Animasi Gulir Vertikal Pada Elementor Sama seperti di bagian sebelumnya, kita perlu mengaktifkan Scrolling Effects. Perbedaannya sekarang adalah kita akan mengaktifkan Vertical Scroll dan menentukan beberapa konfigurasi Tentukan kecepatan menjadi 4Atur arah ke "Turun" Dan itu saja! Anda dapat membiarkan pengaturan lain sebagai default. Cara Membuat Animasi Zoom Pada Elementor Dengan animasi ini, kita akan merasakan bahwa gambar bergerak ke arah kita. Itu bisa sangat berguna untuk menarik perhatian elemen tertentu dari situs web Anda. Jadi, mari kita aktifkan Scrolling Effects. Kemudian, aktifkan Vertical Scroll dan Atur arah ke  BawahAtur Viewport antara 0% dan 40% Kemudian, klik opsi Scale dan atur Speed sama dengan 6. Selain itu, gunakan pengaturan Viewport untuk membuat bagian bawah 20% dan bagian atas 80%. Itu cukup banyak yang perlu Anda ketahui tentang animasi bergulir di Elementor. Cara Mengontrol Transparansi Pada Gulir Pada Elementor Di sini, Anda akan mempelajari cara menggunakan  Pengaturan Viewport  untuk membuat efek gerakan keren saat pengunjung menavigasi situs Anda. Kami akan menerapkan efek gerakan ke latar belakang dan bagian, serta widget, yang memberikan cukup fleksibilitas terkait efek yang ingin kami buat. Singkatnya, inilah yang harus Anda lakukan Pilih gambarBuka tab LanjutTemukan bagian Motion EffectsNyalakan Scrolling Effects Sekarang, kita akan mengaktifkan Horizontal Scroll untuk memastikan gambar bergerak dari kiri ke kanan saat pengguna menggulir halaman ke bawah. Kita juga bisa mengatur  Speed untuk membuat animasi yang halus atau cepat Sekarang, mari masuk ke opsi ViewPort dan lihat perubahan apa yang dapat kita terapkan padanya. Pertama, penting untuk menentukan apa itu ViewPort viewport pengunjung adalah ukuran layar perangkat pengguna yang terlihat. Opsi Viewport memungkinkan kami memilih kapan harus memulai dan menghentikan efek pengguliran yang Anda pilih berdasarkan viewport pengunjung. Misalnya, jika kita menetapkan bagian bawah area pandang menjadi 0% dan bagian atas menjadi 100%, gambar akan mulai bergerak segera setelah terlihat di bagian bawah area pandang pengunjung. Jadi, gambar akan mencapai posisi 'asli' ketika berada di tengah Viewport pengunjung atau, 50% , dan akan terus bergerak hingga mencapai puncak 100%. Konkretnya inilah yang terjadi selama animasi bergulir dari suatu gambar Gambar akan mulai di sebelah kiri dari posisi semula ketika pertama kali muncul di viewport pengunjung viewport pengunjung di 0% Ini akan mencapai posisi semula di tengah viewport pengunjung viewport pengunjung di 50% Itu akan terus meluncur ke kanan dari posisi semula karena pengunjung terus menggulir sampai mencapai 100% Jadi ini berarti bahwa jika kita mengatur  Bawah  Viewport  menjadi 50% dan  Atas  menjadi 100% Gambar akan mulai dari posisi gambar berada di tengah viewport pengunjung 50%, gambar akan mulai bergerak ke kanan hingga gambar mencapai bagian atas viewport pengunjung 100%. Cara Membuat Animasi Efek Transparansi Pada Elementor Untuk contoh ini, kami akan mengaktifkan opsi Transparansi dan Atur arah ke  Fade InSetel  Level  ke  10  ini membuat gambar sangat transparan untuk memulai Jika kita mengatur viewport Bawah ke 0% dan Atas ke 100%, gambar akan transparan saat pertama kali muncul di bagian bawah viewport pengunjung 0%. Saat gambar bergerak ke atas, itu akan menjadi lebih terlihat, akhirnya mencapai tampilan aslinya ketika mencapai bagian atas viewport pengunjung 100%. Jika kita ingin membalikkannya, kita bisa mendefinisikan Fade Out. Kemudian, gambar akan tampak normal pada awalnya dan mengurangi transparansi saat pengunjung menggulir ke bawah. Pilihan lainnya adalah Fade Out In. Dengan yang satu ini, gambar akan mulai dengan status fade-out dan kemudian kembali lagi saat pengunjung terus menggulir. Jika kita mengatur viewport Bawah ke 40% dan Atas ke 60% dengan Fade Out In, maka Gambar akan memudar dari 0% menjadi 40%Ini akan tetap memudar antara 40% hingga 60%Setelah mencapai 60%, itu akan mulai memudar lagi antara 60% dan 100% Sekarang mari kita bermain-main dengan pengaturan yang berbeda untuk menemukan efek yang Anda sukai. Cara Menggunakan Titik Jangkar X dan Y Untuk Efek Animasi Berputar dan Menskala Sekarang mari kita pelajari lebih lanjut tentang titik jangkar X dan Y untuk efek Putar dan Skala di Efek Gerak Elementor. Pada akhir ini, Anda akan tahu bagaimana menerapkan pengaturan ini untuk membuat beberapa efek gerakan keren di situs Anda. Singkatnya, inilah langkah yang akan kita lalui Buka tab LanjutanTemukan pengaturan Motion EffectsNyalakan Scrolling Effects Bagaimana Anchor Points Bekerja di Rotate Animation Mari kita pertimbangkan Efek Rotasi. Klik ikon pensil dengan efek Rotate untuk menyalakannya. Anda dapat membiarkan pengaturan sebagai default. Kemudian, cari pengaturan X Anchor Point dan Y Anchor Point yang muncul di bawah ini. Titik jangkar X dan Y menentukan sumbu di mana gambar berputar. Secara default, keduanya diatur ke Center, yang berarti gambar akan berputar seolah-olah ada 'pin' di tengah gambar. Namun, mengubah titik jangkar X dan/atau Y akan menyebabkan efek rotasi yang berbeda. Misalnya, jika Anda mengatur  X Anchor Point  ke kiri dan  Y Anchor Point  ke atas, gambar akan berputar di sekitar sudut kiri atas Atau, jika Anda menyetel X Anchor Point ke tengah, dan Y Anchor Point ke atas, gambar akan berputar seolah-olah lukisan yang Anda gantung di atas. Apakah Anda mendapatkannya sejauh ini? Mari kita lihat satu lagi. Jika Anda memindahkan X Anchor Point ke kanan, sekarang gambar akan mulai berputar seolah-olah disematkan di sudut kanan atas. Mari kita simpulkan ini. The X Anchor Point menentukan posisi pada sumbu x di mana gambar berputar Dan Titik Jangkar Y melakukan hal yang sama untuk orientasi vertikal Cara Menggunakan Titik Jangkar Dalam Efek Animasi Skala Dengan asumsi Anda memahami dasar-dasar animasi dengan Elementor , mari kita lihat bagaimana ide yang sama ini bekerja dengan efek Skala. Untuk memulai, nonaktifkan efek Rotate, aktifkan efek Scale, dan Atur Arah ke Skala NaikAtur  Kecepatan ke -5 Secara default, X Anchor Point dan Y Anchor Point selalu disetel ke tengah, yang berarti gambar diperkecil ke arah tengah widget gambar. Di sisi lain, jika Anda mengatur titik jangkar ke Atas dan Kiri, gambar akan turun ke sudut kiri atas. Ini adalah ide yang sama persis dengan efek rotasi. Sekarang setelah Anda mengetahui cara kerja titik jangkar X dan Y, Anda dapat melanjutkan dan berlatih untuk menguasai animasi ini dengan baik. Cara Menganimasikan Teks Dengan Efek Tumpang Tindih Pada Elementor Di sini, Anda akan belajar bagaimana menggunakan fitur Horizontal Scroll di Elementor's Motion Effects untuk membuat efek teks animasi yang rapi di situs Anda. Anda akan dapat memindahkan teks melintasi halaman saat pengunjung menggulir. Dan dengan beberapa penyesuaian, Anda bahkan dapat membuat teks berubah warna saat bergerak. Untuk contoh ini, kita akan membahas langkah-langkah berikut Judul abu-abu sederhana yang bergerak ke kanan dan tetap dengan warna yang samaJudul putih dan merah muda yang bergerak ke kiri dan berubah dari putih menjadi merah muda setelah melintasi latar belakang merah muda Membuat Header Pertama Mari kita mulai dengan heading abu-abu solid. Kami akan memilih judul, lalu Buka tab LanjutanTemukan bagian Motion EffectsNyalakan Scrolling Effects Kemudian, klik pensil di sebelah efek Horizontal Scroll untuk masuk ke pengaturannya Ubah Arah ke arah yang Anda inginkan untuk menggulir teks Anda "Ke Kanan" untuk contoh kitaBiarkan pengaturan Kecepatan dan Viewport sebagai default Sekarang judul akan meluncur ke kanan saat pengunjung menggulir halaman ke bawah. Membuat Header Kedua Sekarang, mari kita sedikit lebih maju dan mengubah warna heading saat bergerak. Proses ini melibatkan Membuat duplikat bagian dalamMenggunakan opsi Overflow Hidden untuk menyembunyikan heading dari salah satu bagian setelah melewati bagian dalam Untuk memulai, tambahkan widget Bagian Dalam baru ke bagian tempat Anda ingin meletakkan header, lalu hapus kolom kiri. Kemudian, atur  Tinggi Min  sama dengan 450 px Sekarang mari kita pergi ke tab Style dan mengatur warna latar belakang menjadi merah muda. Terakhir, buka tab Advanced dan atur padding kiri menjadi 33%. Sekarang, tambahkan widget  Heading dan berikan gaya. Anda harus memiliki heading di dalam bagian dalam seperti ini Sekarang, mari kita edit widget Heading dan aktifkan Scrolling Effects di tab Advanced . Kemudian, mari aktifkan pengaturan Horizontal Scroll dan biarkan opsi sebagai default. Sekarang, header Anda akan bergerak ke kiri, tetapi belum berubah warna. Anda dapat melihat bahwa itu masih putih bahkan di latar belakang putih. Untuk memperbaikinya, kami akan menduplikasi bagian dalam. Sekarang, kita akan memiliki dua bagian dalam dan heading yang identik. Anda dapat menggunakan Navigator untuk mengganti nama bagian untuk membantu Anda mengingat yang mana Sekarang, mari pindah ke bagian dalam bawah yang duplikat dan ubah warna latar belakangnya menjadi putih. Anda juga ingin mengubah warna judul menjadi warna yang sama dengan latar belakang di bagian dalam asli Anda. Kemudian, tambahkan margin atas negatif -450 px ke bagian dalam bawah. Sekarang, bagian dalam bawah duplikat akan muncul “di atas†dari bagian dalam asli. Untuk memperbaikinya, kita perlu mengatur Z-Index untuk bagian duplikat ke 1 dan mengatur Z-Index untuk bagian asli ke 2. Kita juga harus memastikan bahwa hanya header merah muda yang muncul saat bergerak di luar bagian dalam. lebar. Berikut adalah bagaimana seharusnya terlihat seperti Untuk mencapai efek ini, buka pengaturan untuk bagian dalam asli . Di tab Layout , temukan opsi Overflow dan atur ke Hidden . Itu saja! Sekarang, hanya heading dari bagian  duplikat  yang akan muncul setelah bergulir melewati bagian dalam, yang menciptakan efek teks perubahan warna yang rapi. Cukup mengesankan bukan? Meringkas Kami berharap tutorial ini akan memberikan petunjuk serius tentang cara membuat animasi dengan Elementor . Ingatlah bahwa Anda harus banyak berlatih untuk menguasai animasi ini. Jangan ragu untuk membagikan panduan ini kepada teman

cara membuat widget bergerak