Apakah mungkin menambahkan drop shadow ke bentuk khusus di Android? Setelah melihat-lihat dokumentasi, saya hanya melihat cara menerapkan bayangan teks.
Saya sudah mencoba ini tanpa hasil:
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#90ffffff"/>
<corners android:radius="12dp" />
<item name="android:shadowColor">#000000</item>
<item name="android:shadowRadius">5</item>
<item name="android:shadowDy">3</item>
</shape>
android
android-layout
mdunkle
sumber
sumber
<!-- Bottom 2dp Shadow -->
saya tidak melihat2
kode Anda ... ???Beginilah cara saya melakukannya:
Kode di bawah ini untuk satu tombol NEGARA:
Maka Anda harus memiliki pemilih dengan versi tombol yang berbeda, seperti:
Semoga ini bisa membantu Anda..semoga beruntung
sumber
Ini adalah versi saya dari drop shadow. Saya pergi untuk bayangan kabur di sekitar bentuk dan menggunakan jawaban ini oleh Joakim Lundborg sebagai titik awal saya. Apa yang saya ubah adalah menambahkan sudut ke semua item bayangan dan meningkatkan jari-jari sudut untuk setiap item bayangan berikutnya. Jadi di sini adalah
xml
:sumber
Berikut ini berfungsi untuk saya: Cukup simpan sebagai custom_shape.xml.
sumber
Saya pikir metode ini menghasilkan hasil yang sangat baik:
sumber
Pertanyaan lama, tetapi Elevation, tersedia dengan Desain Bahan sekarang menyediakan bayangan untuk pandangan apa pun.
Lihat dokumen di https://developer.android.com/training/material/shadows-clipping.html
sumber
ImageButton
bukannya ImageButtonImageView
plusButton' because it allows a
memungkinkan untukandroid:background
danandroid:src
. Oleh karena itu saya dapat menentukanandroid:elevation
hanya sekali dan menghindari "efek piramida Inca" yang saya jelaskan di komentar terakhir saya.Saya akan menyarankan perbaikan kecil untuk solusi Bruce yaitu untuk mencegah overdrawing bentuk yang sama di atas satu sama lain dan hanya menggunakan stroke, bukan solid. Akan terlihat seperti ini:
Terakhir saya ingin menunjukkan kepada orang-orang yang ingin bayangan di arah tertentu yang harus Anda lakukan adalah mengatur bagian atas, bawah, kiri atau kanan ke 0dp (untuk garis padat) atau -1dp (untuk apa-apa)
sumber
Jika Anda tidak keberatan melakukan menggambar khusus dengan API Kanvas, lihat jawaban ini tentang drop shadows . Berikut adalah pertanyaan lanjutan untuk pertanyaan yang memperbaiki masalah dalam dokumen asli.
sumber
sumber
Saya pikir nilai drop shadow ini baik untuk sebagian besar kasus:
sumber
Pertanyaan ini mungkin sudah lama, tetapi bagi siapa pun di masa depan yang menginginkan cara sederhana untuk mencapai efek bayangan kompleks, periksa perpustakaan saya di sini https://github.com/BluRe-CN/ComplexView
Menggunakan perpustakaan, Anda dapat mengubah warna bayangan, mengubah tepi dan banyak lagi. Berikut ini contoh untuk mencapai apa yang Anda cari.
Untuk mengubah warna bayangan, gunakan aplikasi: shadowColor = "kode warna Anda".
sumber
9 patch untuk menyelamatkan, bayangan yang bagus bisa dicapai dengan mudah terutama dengan alat yang luar biasa ini -
Android 9-patch shadow generator
PS: jika proyek tidak dapat dikompilasi, Anda harus memindahkan sedikit garis hitam di editor studio android
sumber
jika Anda memerlukan bayangan garis lurus (seperti di bawah bilah alat) Anda juga dapat menggunakan gradien xml:
Semoga ini bisa membantu seseorang
sumber