Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
251 of 1024 menu
◀ ▶

Виджет PhysicalModel

Виджет PhysicalModel имитирует поверхность над экраном. Цвет поверхности задаёт color типа Color, высоту тени - elevation. Скругление передают в borderRadius типа BorderRadius. Дочерний виджет обрезается по этой форме.

Синтаксис

PhysicalModel( color: Color(0xFFFFFFFF), elevation: 6, borderRadius: BorderRadius.circular(12), child: child, )

Параметры

Параметр Описание
color Цвет поверхности. Принимает Color.
elevation Высота тени в логических пикселях.
child Дочерний виджет на этой поверхности.

Пример

Давайте поднимем белую карточку:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: PhysicalModel( color: Color(0xFFFFFFFF), elevation: 8, borderRadius: BorderRadius.circular(12), child: Padding( padding: EdgeInsets.all(16), child: Text('abcde'), ), ), ), ), )); }

На экране белая карточка со скруглением, тенью и строкой 'abcde'.

Пример

Давайте сделаем тень ниже:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: PhysicalModel( color: Color(0xFFE3F2FD), elevation: 2, child: SizedBox( width: 120, height: 48, child: Center(child: Text('12345')), ), ), ), ), )); }

На экране голубой прямоугольник со слабой тенью и строка '12345'.

Смотрите также

  • виджет ShaderMask,
    градиентная маска поверх дочернего виджета
  • виджет ImageFiltered,
    размыть или исказить дочерний виджет
  • виджет RepaintBoundary,
    рисовать дочерний виджет отдельным слоем
  • виджет Transform,
    сдвиг, поворот, масштаб
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить