Flutter - Add shadow to the Text
The Text widget displays a string of text with a single style in a flutter
app. But depending on the layout constraints the string might break across
multiple lines or might all be displayed on the same line. The style argument
is optional in a Text instance. When the style argument is omitted, the text
will use the style from the closest enclosing DefaultTextStyle. By default,
the Text is not selectable. But flutter developers can make a Text selectable
by wrapping a subtree with a SelectionArea widget.
The following flutter application development tutorial will demonstrate how we can add shadow to the Text. We will draw a shadow for the text. Here we will assign a TextStyle instance for the Text widget’s style property.
Then we will use the TextStyle class’s shadows property to add a shadow to the Text. We will also set the shadow color, offset and blur using the Shadow class’s various properties.
The Text class’s style property value is a TextStyle object. The TextStyle class represents an immutable style describing how to format and paint text.
The TextStyle class’s shadows property value is a list of Shadows that will be painted underneath the text. Multiple shadows are supported to replicate lighting from multiple light sources.
The Shadow class represents a single shadow. Multiple shadows are stacked together in a TextStyle. The Shadow class’s color property value is the color with which the shadow will be drawn.
The Shadow class’s offset property value is an Offset which is the displacement of the shadow from the casting element. The Positive x and y offsets will shift the shadow to the right and down and the negative offsets shift the shadow to the left and up. The Offset class represents an immutable 2D floating-point offset.
The Shadow class’s blurRadius property value is a Double instance which is the standard deviation of the Gaussian to convolve with the shadow's shape.
So finally, the flutter app developers can add a shadow to the text using the TextStyle class shadows property. They also have to set the various properties value for the Shadow object to customize the shadow appearance.
The following flutter application development tutorial will demonstrate how we can add shadow to the Text. We will draw a shadow for the text. Here we will assign a TextStyle instance for the Text widget’s style property.
Then we will use the TextStyle class’s shadows property to add a shadow to the Text. We will also set the shadow color, offset and blur using the Shadow class’s various properties.
The Text class’s style property value is a TextStyle object. The TextStyle class represents an immutable style describing how to format and paint text.
The TextStyle class’s shadows property value is a list of Shadows that will be painted underneath the text. Multiple shadows are supported to replicate lighting from multiple light sources.
The Shadow class represents a single shadow. Multiple shadows are stacked together in a TextStyle. The Shadow class’s color property value is the color with which the shadow will be drawn.
The Shadow class’s offset property value is an Offset which is the displacement of the shadow from the casting element. The Positive x and y offsets will shift the shadow to the right and down and the negative offsets shift the shadow to the left and up. The Offset class represents an immutable 2D floating-point offset.
The Shadow class’s blurRadius property value is a Double instance which is the standard deviation of the Gaussian to convolve with the shadow's shape.
So finally, the flutter app developers can add a shadow to the text using the TextStyle class shadows property. They also have to set the various properties value for the Shadow object to customize the shadow appearance.
main.dart
import 'package:flutter/material.dart';
void main(){
runApp(
MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text("Flutter - Text Shadow")
),
body: const Center(
child: Text(
"Lorem Ipsum is simply dummy text of the printing"
" and typesetting industry.",
style: TextStyle(
shadows: [
Shadow(
color: Colors.grey,
offset: Offset(2, 3),
blurRadius: 3
)
],
fontSize: 25,
),
textAlign: TextAlign.center,
),
),
),
)
);
}