본문 바로가기
Flutter/Flutter FAQ

Flutter에서 "frosted glass" 효과를 어떻게 구현하나요?, How do I do the "frosted glass" effect in Flutter?

by 베타코드 2023. 5. 18.
반응형

질문


I'm writing a Flutter app, and I'd like to use/implement the "frosted glass" effect that's common on iOS. How do I do this?

저는 플러터 앱을 작성하고 있으며, iOS에서 일반적인 "프로스트드 글래스" 효과를 사용/구현하고 싶습니다. 이를 어떻게 할 수 있을까요?

답변


이 효과를 달성하려면 BackdropFilter 위젯을 사용할 수 있습니다.

screenshot

import 'dart:ui';
import 'package:flutter/material.dart';

void main() {
  runApp(new MaterialApp(home: new FrostedDemo()));
}

class FrostedDemo extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return new Scaffold(
      body: new Stack(
        children: <Widget>[
          new ConstrainedBox(
            constraints: const BoxConstraints.expand(),
            child: new FlutterLogo()
          ),
          new Center(
            child: new ClipRect(
              child: new BackdropFilter(
                filter: new ImageFilter.blur(sigmaX: 10.0, sigmaY: 10.0),
                child: new Container(
                  width: 200.0,
                  height: 200.0,
                  decoration: new BoxDecoration(
                    color: Colors.grey.shade200.withOpacity(0.5)
                  ),
                  child: new Center(
                    child: new Text(
                      'Frosted',
                      style: Theme.of(context).textTheme.display3
                    ),
                  ),
                ),
              ),
            ),
          ),
        ],
      ),
    );
  }
}
반응형

댓글