Saya mencoba membuat gradien yang memancar dari tengah layar menjadi putih, dan berubah menjadi hitam saat bergerak ke arah tepi layar.
Saat saya membuat gradien "normal" seperti ini, saya telah bereksperimen dengan berbagai bentuk:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient android:startColor="#E9E9E9" android:endColor="#D4D4D4"
android:angle="270"/>
</shape>
Saat menggunakan bentuk "oval", setidaknya saya mendapatkan bentuk bulat, tetapi tidak ada efek gradien. Bagaimana saya bisa mencapai ini? '
Saya selalu menemukan gambar berguna saat mempelajari konsep baru, jadi ini adalah jawaban tambahan.
The
%p
berarti persentase dari orangtua, yaitu, persentase dari dimensi sempit apapun melihat kita set ditarik kami pada. Gambar di atas dibuat dengan mengubahgradientRadius
kode inimy_gradient_drawable
Yang bisa disetel pada
background
atribut tampilan seperti iniPusat
Anda dapat mengubah pusat radius dengan
dimana desimal adalah pecahan dari lebar dan tinggi untuk
x
dany
masing - masing.Dokumentasi
Berikut adalah beberapa catatan dari dokumentasi yang menjelaskan lebih banyak hal.
sumber
%
atau tidak.Anda juga dapat melakukannya dalam kode jika Anda membutuhkan lebih banyak kontrol, misalnya beberapa warna dan pemosisian. Berikut adalah cuplikan Kotlin saya untuk membuat gradien radial yang dapat digambar:
Penggunaan dasar (tapi jangan ragu untuk menyesuaikan dengan parameter tambahan):
sumber
Saya kira Anda harus menambahkan android: centerColor
Contoh ini menampilkan gradien horizontal dari putih ke hitam ke putih.
sumber
sumber
Berikut adalah xml lengkap dengan bentuk gradien, stoke & melingkar.
sumber
sumber