Создание теневой рамки вокруг кнопки во Flutter: изучено несколько методов

Во Flutter кнопки являются важным компонентом пользовательского интерфейса. При стилизации кнопок добавление эффекта теневого поля может повысить их визуальную привлекательность и придать ощущение глубины. В этой статье блога мы рассмотрим несколько методов создания теневой рамки вокруг кнопки во Flutter, сопровождаемые примерами кода.

Метод 1: настройка кнопки с помощью виджета-контейнера

Container(
  decoration: BoxDecoration(
    boxShadow: [
      BoxShadow(
        color: Colors.grey.withOpacity(0.5),
        spreadRadius: 5,
        blurRadius: 7,
        offset: Offset(0, 3),
      ),
    ],
    borderRadius: BorderRadius.circular(10),
  ),
  child: ElevatedButton(
    onPressed: () {
      // Button action
    },
    child: Text('Button'),
  ),
)

Метод 2: использование виджета «Материал» с виджетом «Чернила»

Material(
  elevation: 5.0,
  borderRadius: BorderRadius.circular(10),
  child: Ink(
    decoration: BoxDecoration(
      borderRadius: BorderRadius.circular(10),
    ),
    child: InkWell(
      onTap: () {
        // Button action
      },
      child: Container(
        height: 50,
        width: 150,
        alignment: Alignment.center,
        child: Text(
          'Button',
          style: TextStyle(
            fontWeight: FontWeight.bold,
          ),
        ),
      ),
    ),
  ),
)

Метод 3: стилизация кнопок с помощью Neumorphic Package

import 'package:neumorphic/neumorphic.dart';
NeumorphicButton(
  onPressed: () {
    // Button action
  },
  style: NeumorphicStyle(
    boxShape: NeumorphicBoxShape.roundRect(BorderRadius.circular(10)),
    depth: 5,
    intensity: 0.7,
    shadowDarkColor: Colors.grey.withOpacity(0.5),
    shadowLightColor: Colors.white,
  ),
  child: Text('Button'),
)

Метод 4: использование пакета Enhanced_shadow

import 'package:elevated_shadow/elevated_shadow.dart';
ElevatedShadow(
  child: ElevatedButton(
    onPressed: () {
      // Button action
    },
    child: Text('Button'),
  ),
)

В этой статье мы рассмотрели несколько методов создания теневой рамки вокруг кнопки во Flutter. Используя такие методы, как настройка контейнеров, использование виджетов «Материал» и «Чернила», использование пакета neumorphic и пакета повышенных_теней, вы можете добиться визуально привлекательного дизайна кнопок с эффектами тени. Поэкспериментируйте с этими методами и выберите тот, который лучше всего соответствует требованиям вашего проекта.