분류, 패키지 및 저장소 검색

패키지 상세v1.3.1

fan_carousel_image_slider

판타지 스타일의 캐러셀 슬라이더 위젯입니다. 온라인 및 로컬 이미지 표시용입니다.

AndroidiOSmacOSWindowsLinux
30일 다운로드
752
좋아요
169
Pub 점수
150

패키지 설치

flutter pub add fan_carousel_image_slider

패키지 개요

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

온라인 및 로컬 이미지를 표시하기 위한 판타지 스타일의 캐러셀 슬라이더를 생성하는 플러터 위젯입니다. 시각적으로 매력적이고 동적인 흐름 효과로 설계되어 몰입형 시각 탐색이 필요한 앱에서 이미지 표현을 강화합니다. 갤러리, 제품 전시 또는 미디어 중심 인터페이스에 이상적입니다. 부드러운 전환을 지원하며 안드로이드, iOS, 맥OS, 윈도우, 리눅스 등 다양한 플랫폼에 최적화되어 있습니다.

사용 사례

  • 이미지 갤러리
  • Product展示
  • 미디어 브라우징
  • 인터랙티브 UI
  • 디지털 잡지

주요 기능

  • 판타지 캐러셀 효과
  • 온라인 및 로컬 이미지 지원
  • 부드러운 애니메이션
  • 크로스 플랫폼 호환성
  • 사용자 정의 가능한 외관

적합한 대상

  • 시각적 스토리텔링 앱
  • 전자상거래 인터페이스
  • 사진 공유 플랫폼
  • 크리에이티브 포트폴리오
  • 모바일 중심 디자인 프로젝트

고려 사항

  • 이미지 표시만 가능
  • 내장된 페이지네이션 컨트롤 없음
  • 이미지 로딩을 수동으로 처리해야 합니다
  • 이미지가 아닌 콘텐츠에는 적합하지 않습니다
  • 큰 이미지 세트에서는 성능이 달라질 수 있습니다

원본 README

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

A fantasy carousel slider widget; only for displaying online and local images. You can use it with two different types accessible with two named constructors:

Type 1 Demo:

Type 2 Demo:

Installation

In the pubspec.yaml of your flutter project, add the following dependency:

dependencies:
  flutter:
    sdk:
  fan_carousel_image_slider: any

Import the fantasy carousel package like this:

  import 'package:fan_carousel_image_slider/fan_carousel_image_slider.dart';

Usage

Simply create a FanCarouselImageSlider widget, and pass the required params:

  static const List<String> sampleImages = [
    'https://img.freepik.com/free-photo/lovely-woman-vintage-outfit-expressing-interest-outdoor-shot-glamorous-happy-girl-sunglasses_197531-11312.jpg',
    'https://img.freepik.com/free-photo/shapely-woman-vintage-dress-touching-her-glasses-outdoor-shot-interested-relaxed-girl-brown-outfit_197531-11308.jpg',
    'https://img.freepik.com/premium-photo/cheerful-lady-brown-outfit-looking-around-outdoor-portrait-fashionable-caucasian-model-with-short-wavy-hairstyle_197531-25791.jpg',
  ];

  // Type 1 
  FanCarouselImageSlider.sliderType1(
              imagesLink: sampleImages,
              isAssets: false,
              autoPlay: false,
              sliderHeight: 400,
              showIndicator: true,
            ),

  // Type 2
  FanCarouselImageSlider.sliderType2(
              imagesLink: sampleImages,
              isAssets: false,
              autoPlay: false,
              sliderHeight: 300,
              currentItemShadow: const [],
              sliderDuration: const Duration(milliseconds: 200),
              imageRadius: 0,
              slideViewportFraction: 1.2,
            ),

Customization

Customize the FanCarouselImageSlider widget with these parameters:


  /// List of images to be shown in the slider; Accepts two types of link.
  /// For example: `https://...jpg` for online images and `assets/...` for local images.
  final List<String> imagesLink;

  /// Specifies the type of image addresses in [imagesLink].
  /// Must be `false` if [imagesLink] contains online images.
  /// Must be `true` if [imagesLink] contains local images.
  final bool isAssets;

  /// The initial page to show when first creating the [FanCarouselImageSlider].
  /// Defaults to 1.
  final int initalPageIndex;

  /// Set as the image slider height.
  /// Defaults to 500.
  final double sliderHeight;

  /// Set as the image slider width.
  /// Defaults to double.infinity.
  final double sliderWidth;

  /// The corners of images will round according to this value.
  /// Defaults to 40.
  final double imageRadius;

  /// Determines the relative rotation of the sides images.
  /// Used only for [ImageSliderType.imageSliderType1]
  /// Defaults to 250.
  final double turns;

  /// Determines the opacity of the sides images.
  /// Defaults to 0.8.
  final double sidesOpacity;

  /// Determines the value of the [fit] property of the images
  /// Defaults to BoxFit.cover.
  final BoxFit imageFitMode;

  /// The fraction of the viewport that each page should occupy.
  /// Defaults to 0.7.
  final double slideViewportFraction;

  /// This Duration type value, use for all animations in [FanCarouselImageSlider].
  /// Defaults to Duration(milliseconds: 600).
  final Duration sliderDuration;

  /// Determines the visibility of the indicators below slider.
  /// Used only for [ImageSliderType.imageSliderType1]
  /// Defaults to true
  final bool showIndicator;

  /// Determines the visibility of the arrows below slider.
  /// Used only for [ImageSliderType.imageSliderType1]
  /// Defaults to false.
  final bool showArrowNav;

  /// Determines the color of the active indicator below slider.
  /// Defaults to Colors.pink.
  final Color indicatorActiveColor;

  /// Determines the color of the border of the deactive indicators below slider.
  /// Defaults to Colors.grey.
  final Color indicatorDeactiveColor;

  /// Enables auto play, sliding one page at a time.
  /// Use [autoPlayInterval] to set the timer interval.
  /// Defaults to true
  final bool autoPlay;

  /// Determines the slider autoplay timer interval;
  /// when [autoPlay] is set to true.
  /// Defaults to Duration(milliseconds: 3000).
  final Duration autoPlayInterval;

  /// Determines whether the user can change slides by dragging or not.
  /// Defaults to true.
  final bool userCanDrag;

  /// Determines box shadow of current (center) image.
  /// Defaults to custom BoxShadwo list.
  final List<BoxShadow>? currentItemShadow;

  /// Determines box shadow of sides image.
  /// Defaults to null.
  final List<BoxShadow>? sideItemsShadow;

  /// Determines whether the image should be clickable or not.
  /// Defaults to true
  final bool isClickable;

  /// Set as the width of the expanded image.
  /// Defaults to MediaQuery.of(context).size.width * 0.9)
  final double? expandImageWidth;

  /// Set as the height of the expanded image.
  /// Defaults to MediaQuery.of(context).size.height * 0.8
  final double? expandImageHeight;

  /// Determines the value of the [fit] property of the expanded image
  /// Defaults to BoxFit.cover.
  final BoxFit expandedImageFitMode;

  /// Determines the alignment of the close button for the expanded image
  /// Defaults to Alignment.bottomLeft
  final AlignmentGeometry expandedCloseBtnAlign;

  /// Defines a widget for the close button of the expanded image.
  /// It can be null and the default close button will be shown.
  final Widget? expandedCloseBtn;

  /// Determines the widget in the default close button container
  /// Defaults to arrow_back_ios_rounded icon
  final Widget expandedCloseChild;

  /// Determines the style of the expanded image's close button container.
  /// It can be null then the default style will be applied.
  final BoxDecoration? expandedCloseBtnDecoration;

  /// Determines the expand tapped image mode to be zoomable and display image in the original size
  /// Default to false
  final bool expandFitAndZoomable;

  /// Determines where the indicators should display, On the slider or below it
  /// Default to bottom of slider
  final bool displayIndicatorOnSlider;

카테고리

의존성

의존성 목록 2 개

소스 저장소

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