패키지, 저장소 및 앱 카테고리 검색

pull_to_reveal 표지
패키지 상세v0.0.2

pull_to_reveal

사용자 스크롤 동작에 따라 숨겨진 상단 요소를 선택적으로 렌더링하는 간단한 Flutter 위젯입니다.

30일 다운로드
107
좋아요
29
Pub 점수
40

패키지 설치

flutter pub add pull_to_reveal

패키지 개요

공개 정보를 바탕으로 생성한 선택 가이드입니다.

사용자가 아래로 스크롤할 때 숨겨진 상단 요소를 표시하고 위로 스크롤할 때 다시 숨기는 Flutter 위젯입니다. 주 리스트를 복잡하게 만들지 않고 보조 콘텐츠(예: 필터 또는 작업)를 부드럽고 인터랙티브한 경험으로 표시합니다. 스크롤 방향과 민감도에 따라 동작이 트리거되며, 동적 UI에 적합합니다. 가볍고 기존의 리스트 기반 인터페이스에 쉽게 통합할 수 있습니다.

사용 사례

  • 인터랙티브 헤더 리벨
  • 필터 또는 작업 막대 표시
  • 동적 UI 레이어링
  • 스크롤 기반 콘텐츠 전환
  • 개선된 목록 탐색
  • 사용자 지정 풀투리프레시 대안

주요 기능

  • 스크롤 트리거된 가시성
  • 부드러운 애니메이션 전환
  • 최소 구성
  • 모든 위젯을 오버레이로 지원
  • 기본 ListView와 호환됩니다
  • 다른 스크롤 민감도에 적응 가능

적합한 대상

  • 세밀한 UI 상호작용을 원하는 개발자
  • 추가 컨트롤이 필요한 밀도 높은 목록을 가진 앱
  • 제스처 기반 콘텐츠 표시를 원하는 디자이너
  • 경량 스크롤 로직이 필요한 프로젝트
  • 향상된 사용자 경험을 찾는 Flutter ListViews 사용자

고려 사항

  • 수직 스크롤링으로 제한
  • 다른 스크롤 리스너와 충돌할 수 있습니다
  • 노출 임계값을 신중하게 조정해야 합니다
  • 수평 목록에 적합하지 않습니다
  • 간단한 오버레이 콘텐츠와 함께 사용하는 것이 가장 좋습니다
  • 성능은 오버레이의 복잡성에 따라 달라집니다

원본 README

연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.

pull_to_reveal

A simple Flutter widget that wraps a ListView and selectively renders a hidden top element based on user scroll behavior.

Getting Started

To use the PullToRevealListView widget in your Flutter project, you need only wrap it in a LayoutBuilder and then a Stack. These are excellent for adding a little life to a Scaffold background, or for programming a Pong client.

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

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: PullToRevealTopItemList(
          itemCount: _counter,
          itemBuilder: (BuildContext context, int index) {
            return ListItemElement(index: index);
          },
          revealableHeight: 50,
          revealableBuilder: (BuildContext context, RevealableToggler opener, RevealableToggler closer, BoxConstraints constraints) {
            return Row(
              children: <Widget>[
                SizedBox(width: 10),
                Flexible(
                  child: TextFormField(
                    controller: searchController,
                    decoration: InputDecoration(
                      hintText: 'Search',
                      suffixIcon: Icon(Icons.search),
                    ),
                  ),
                ),
                IconButton(
                  icon: Icon(Icons.cancel),
                  onPressed: () {
                    // Handles closing the `Revealable`
                    closer();
                    // Removes any filtering effects
                    searchController.text = '';
                    setState(() {
                      _filter = null;
                    });
                  },
                )
              ],
            );
          },
        ),
      ),
    );
  }
}
Example

카테고리

소스 저장소

이 패키지를 사용하는 프로젝트

아직 데이터가 없습니다.