パッケージ、リポジトリ、アプリカテゴリを検索

flutter_advanced_segment のカバー
パッケージ詳細v3.2.0

flutter_advanced_segment

多数のプロパティで完全にカスタマイズ可能な高度なセグメントウィジェットです。ぜひお試しください!

AndroidiOSWebmacOSWindowsLinux
30日間ダウンロード
7120
いいね数
118
Pub ポイント
150

パッケージをインストール

flutter pub add flutter_advanced_segment

パッケージ概要

公開情報に基づく選定ガイドです。参考としてご利用ください。

Flutter用に高度にカスタマイズ可能なセグメントウィジェットで、広範なスタイルと構成オプションを備えてタブナビゲーションを強化するように設計されています。Android、iOS、Web、macOS、Windows、Linuxを含むすべての主要プラットフォームをサポートしています。開発者は多数のプロパティを使ってセグメントの外観や動作をカスタマイズでき、さまざまなUIデザインへのスムーズな統合が可能になります。滑らかな遷移と応答性のあるフィードバックを備えた直感的でインタラクティブなインターフェースを作成するのに最適です。

用途

  • カスタムタブナビゲーション
  • フォームフィールドのグループ化
  • 動的コンテンツ切り替え
  • ユーザーの好みセレクタ
  • インタラクティブダッシュボードフィルター
  • マルチステート選択コントロール

主な機能

  • 完全にカスタマイズ可能な外観
  • クロスプラットフォーム互換性
  • スムーズなトランジションアニメーション
  • 広範なプロパティの構成
  • 水平および垂直レイアウトの両方をサポート
  • レスポンシブデザインの適応性

適している対象

  • 複雑なUIを構築する開発者
  • 柔軟なタブコンポーネントが必要なデザイナー
  • 動的セグメント相互作用を必要とするアプリ
  • 厳格なUIの一貫性を必要とするプロジェクト
  • マルチプラットフォームアプリにFlutterを使用するチーム

注意事項

  • 追加のスタイリング知識が必要になる場合があります
  • 多数のセグメントによるパフォーマンスへの影響
  • 制限付きの組み込みテーマ
  • 非常に大きなデータセットには最適化されていません
  • 慎重な状態管理が必要です
  • ネストされた実装における潜在的な複雑さ

元の README

関連するソースリポジトリの README 原文のスナップショットです。最新の内容はリポジトリをご覧ください。

flutter_advanced_segment

An advanced segment widget, that can be fully customized with bunch of properties, just try it and enjoy!

APP_ICON

Flutter Advanced Segment Flutter Advanced Segment

Examples

Regular Segment
final _controller = ValueNotifier('all');
//...
AdvancedSegment(
  controller: _controller,
  segments: const {
    'all': 'All',
    'starred': 'Starred',
  },
),
Colorized Segment
AdvancedSegment(
  controller: _controller,
  segments: const {'all': 'All', 'starred': 'Starred'},
  decoration: BoxDecoration(
    color: const Color(0xFFFF6B35),
    borderRadius: BorderRadius.circular(4),
  ),
  sliderColor: const Color(0xFFD63B0E),
  activeStyle: const TextStyle(
    color: Colors.white,
    fontWeight: FontWeight.w600,
  ),
  inactiveStyle: TextStyle(
    color: Colors.white.withValues(alpha: 0.7),
  ),
),
Gradient Decoration
AdvancedSegment(
  controller: _controller,
  segments: const {'all': 'All', 'starred': 'Starred'},
  decoration: BoxDecoration(
    gradient: const LinearGradient(
      colors: [Color(0xFFFF2D55), Color(0xFFFF9500)],
    ),
    borderRadius: BorderRadius.circular(16),
  ),
  sliderColor: Colors.white,
  activeStyle: const TextStyle(
    color: Color(0xFFFF2D55),
    fontWeight: FontWeight.w700,
  ),
  inactiveStyle: TextStyle(
    color: Colors.white.withValues(alpha: 0.85),
  ),
),
Custom Slider Decoration
AdvancedSegment(
  controller: _controller,
  segments: const {'all': 'All', 'starred': 'Starred'},
  decoration: BoxDecoration(
    color: const Color(0xFF2C2C2E),
    borderRadius: BorderRadius.circular(50),
  ),
  sliderDecoration: BoxDecoration(
    color: const Color(0xFFBF5AF2),
    borderRadius: BorderRadius.circular(50),
    border: Border.all(
      color: const Color(0xFFDA8FFF),
      width: 1.5,
    ),
  ),
  activeStyle: const TextStyle(
    color: Colors.white,
    fontWeight: FontWeight.w700,
  ),
  inactiveStyle: TextStyle(
    color: Colors.white.withValues(alpha: 0.5),
  ),
),

AdvancedSegment Parameters

Parameter Description Type Default
controller Controls segments selection ValueNotifier
segments Map of presented segments Map<K, V> required
activeStyle Active segment text style TextStyle fontWeight: FontWeight.w600
inactiveStyle Inactive segment text style TextStyle
decoration Layout decoration (color, border, borderRadius, gradient, etc.) BoxDecoration color: 0x42000000, borderRadius: 8.0
sliderColor Color of the slider thumb Color Colors.white
sliderOffset Gap between slider and layout double 2.0
itemPadding Padding of each item EdgeInsets EdgeInsets.symmetric(h: 15, v: 10)
animationDuration Selection animation duration Duration Duration(milliseconds: 250)
shadow Slider shadow List<BoxShadow> BoxShadow(blurRadius: 8.0)
sliderDecoration Custom slider decoration (overrides sliderColor, borderRadius, shadow) BoxDecoration
enableDrag Whether drag gesture is enabled bool true

カテゴリー

ソースリポジトリ

このパッケージを使用しているプロジェクト

データはまだありません。