FLUTTER ECOSYSTEM

letsar/visual_effect

Flutter용 VisualEffect API

시각 효과 프로젝트 이미지
Stars
75
Forks
2
최근 푸시(UTC)
2023. 8. 15.
프로젝트 상태
활성
Romain Rastel GitHub avatar
GITHUB User

Romain Rastel ↗

Flutter Developer

언어DartGLSLHTMLSwiftKotlinObjective-C

이 저장소가 배포한 패키지

사용 중인 의존성

의존성 목록 4 개
  • flutter{"sdk":"flutter"}
  • meta^1.9.1
  • vector_math^2.1.4
  • flutter_test개발 의존성{"sdk":"flutter"}

원본 README

아래는 영문 원문 스냅샷입니다. 최신 내용은 GitHub에서 확인하세요.

README 펼치기 / 접기

visual_effect

VisualEffect API for Flutter to easily add paint effects on your widgets.

Warning This package is experimental for the moment. The API can change at any time.

Scroll Effect

The main purpose of this API is to provide an easy and efficiently way to apply scroll animations.

Warning The addRepaintBoundaries MUST be set to false in the parent Sliver/ScrollView because we explicitely want in that case to repaint for every single scroll so we can add the effect.

For example this Card Stack effect can be obtained with the code below:

Card Stack

class _ScrolledItem extends StatelessWidget {
  const _ScrolledItem();

  @override
  Widget build(BuildContext context) {
    return ScrollEffect(
      onGenerateVisualEffect: (effect, phase) {
        return effect
            .grayscale(phase.leadingLerp(to: 0.5))
            .scale(
              x: phase.isLeading ? phase.leadingLerp(from: 1, to: 0.9) : 1,
              anchor: Alignment.topCenter,
            )
            .translate(y: effect.childSize.height * phase.leading);
      },
      child: const _CardItem(),
    );
  }
}