Shadow
Skip support for SwiftUI.View.shadow ↗ on Android. Consult the SkipUI module for a complete list of supported SwiftUI.
The following example screens and source code is from SkipUI’s
Showcase sample app
ShadowPlayground.swift ↗
import SwiftUI
struct ShadowPlayground: View { var body: some View { ScrollView { VStack(spacing: 16.0) { HStack { Text("Radius") Spacer() Color.red .frame(width: 100.0, height: 100.0) .shadow(radius: 10.0) .border(.blue) } HStack { Text("Color + Offset") Spacer() Color.red .frame(width: 100.0, height: 100.0) .shadow(color: .green, radius: 4.0, x: 10.0, y: 10.0) .border(.blue) } HStack { Text(".clipShape") Spacer() Color.red .frame(width: 100.0, height: 100.0) .clipShape(RoundedRectangle(cornerRadius: 40.0)) .shadow(color: .black, radius: 4.0) .border(.blue) } HStack { Text("Shape") Spacer() Circle() .fill(.red) .frame(width: 100.0, height: 100.0) .shadow(color: .black, radius: 4.0) .border(.blue) } HStack { Text("Text") Spacer() Text("Text").font(.largeTitle).bold() .foregroundStyle(.red) .shadow(color: .black, radius: 4.0) .border(.blue) } HStack { Text("Shape with background") Spacer() Circle() .fill(.red) .frame(width: 100.0, height: 100.0) .shadow(color: .black, radius: 4.0) .background { Color.green.shadow(color: .black, radius: 4.0) } .border(.blue) } HStack { Text("Text with background") Spacer() Text("Text").font(.largeTitle).bold() .foregroundStyle(.red) .padding(8.0) .shadow(color: .black, radius: 4.0) .background { Color.green.shadow(color: .black, radius: 4.0) } .border(.blue) } HStack { Text("Shape with overlay") Spacer() Circle() .fill(.red) .frame(width: 100.0, height: 100.0) .shadow(color: .black, radius: 4.0) .overlay { Text("Overlay").font(.largeTitle) .foregroundStyle(.green) .shadow(color: .black, radius: 4.0) } .border(.blue) } HStack { Text("Container") Spacer() VStack { Text("Top") Text("Bottom") } .padding(8.0) .shadow(color: .black, radius: 4.0) .border(.blue) } HStack { Text("Button") Spacer() Button("Tap") { logger.log("Tap") } .buttonStyle(.bordered) .shadow(color: .black, radius: 4.0) .border(.blue) } Toggle("Toggle", isOn: .constant(true)) .shadow(color: .black, radius: 4.0) .border(.blue) HStack { Text("Label") Spacer() Label("Title", systemImage: "heart.fill") .foregroundStyle(.red) .shadow(color: .black, radius: 4.0) .border(.blue) } HStack { Text("Image") Spacer() Image(systemName: "heart.fill") .foregroundStyle(.red) .shadow(color: .black, radius: 4.0) .border(.blue) } } .padding() } .toolbar { PlaygroundSourceLink(file: "ShadowPlayground.swift") } }}