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

skeleton_loader のカバー
パッケージ詳細v2.0.0+4

skeleton_loader

アプリ用に完全にカスタマイズ可能な読み込みスケルトンを提供するFlutterパッケージです。

AndroidiOSWebmacOSWindowsLinux
30日間ダウンロード
17
いいね数
235
Pub ポイント
140

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

flutter pub add skeleton_loader

パッケージ概要

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

データ読み込み中のユーザー体験を向上させるために、完全にカスタマイズ可能なローディングスケルトンを提供するFlutterパッケージです。最終的なコンテンツレイアウトを模倣するプレースホルダーアニメーションを提供し、認識される読み込み時間を短縮し、アプリの応答性を向上させます。すべての主要プラットフォームに対応しており、滑らかでプロフェッショナルなインターフェイスを作成するのに最適です。軽量で簡単に統合できるため、開発者はデザインシステムに合わせてスケルトンの外観と挙動をカスタマイズできます。

用途

  • プレースホルダーコンテンツでリストやグリッドを読み込む
  • データが到着する前にカードレイアウトを表示する
  • 非同期操作中のパフォーマンスの認識を向上させる
  • リモートデータを取得しながら一貫したUIを作成する
  • 動的フィールドを活用したフォームにおけるUXの向上

主な機能

  • 完全にカスタマイズ可能なスケルトンの外観
  • 複数のアニメーションタイプのサポート
  • 既存のウィジェットとの簡単な統合
  • クロスプラットフォーム互換性
  • 軽量でパフォーマンスに優れる
  • カスタマイズ可能なきらめき効果

適している対象

  • 読み込み状態中に改善されたUXを求める開発者
  • 視覚的な一貫性を保ちたいデザイナー
  • 動的またはネットワーク依存のコンテンツを持つアプリ
  • 完成されたプロダクション用のプレースホルダーを必要とするプロジェクト
  • Material または Cupertino デザインシステムを使用するチーム

注意事項

  • 複雑なレイアウトには追加のスタイリングが必要になる場合があります
  • アニメーションのパフォーマンスは、低スペックデバイスでテストするべきです
  • 読み込みの必要がない静的コンテンツには適していません
  • 基本的な形状と色のオプションを超えるカスタマイズは限られている
  • アクセシビリティのために、実際のロードインジケーターと併用するのが最適です

元の README

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

skeleton_loader

A Flutter Package which provides a fully customizable loading skeleton for your app,

Installation

How to install it? Follow Instructions

Preview

Usage

import 'package:example/models/states.dart';
import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';

import 'screens/list.dart';
import 'screens/grid.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  final String appTitle = "Flutter Skeleton Loader Demo";
  final List<StateCapital> sc = [
    StateCapital(name: "Abia", capital: "Umuahia"),
    StateCapital(name: "Adamawa", capital: "Yola"),
    StateCapital(name: "Akwa-Ibom", capital: "Uyo"),
    StateCapital(name: "Anambra", capital: "Awka"),
    StateCapital(name: "Bauchi", capital: "Bauchi"),
    StateCapital(name: "Bayelsa", capital: "Yenagoa"),
    StateCapital(name: "Benue", capital: "Makurdi"),
    StateCapital(name: "Borno", capital: "Maiduguri"),
    StateCapital(name: "Cross River", capital: "Calabar"),
    StateCapital(name: "Delta", capital: "Asaba"),
    StateCapital(name: "Ebonyi", capital: "Abakaliki"),
    StateCapital(name: "Edo", capital: "Benin"),
    StateCapital(name: "Ekiti", capital: "Ado-Ekiti"),
    StateCapital(name: "Enugu", capital: "Enugu"),
    // StateCapital(name: "FCT", capital: "Abuja"),
    StateCapital(name: "Gombe", capital: "Gombe"),
    StateCapital(name: "Imo", capital: "Owerri"),
    StateCapital(name: "Jigawa", capital: "Dutse"),
    StateCapital(name: "Kaduna", capital: "Kaduna"),
    StateCapital(name: "Kano", capital: "Kano"),
    StateCapital(name: "Katsina", capital: "Katsina"),
    StateCapital(name: "Kebbi", capital: "Birnin-Kebbi"),
    StateCapital(name: "Kogi", capital: "Lokoja"),
    StateCapital(name: "Kwara", capital: "Ilorin"),
    StateCapital(name: "Lagos", capital: "Ikeja"),
    StateCapital(name: "Nassarawa", capital: "Lafia"),
    StateCapital(name: "Niger", capital: "Mina"),
    StateCapital(name: "Ogun", capital: "Abeokuta"),
    StateCapital(name: "Ondo", capital: "Akure"),
    StateCapital(name: "Osun", capital: "Osogbo"),
    StateCapital(name: "Oyo", capital: "Ibadan"),
    StateCapital(name: "Plateau", capital: "Jos"),
    StateCapital(name: "Rivers", capital: "Port Harcourt"),
    StateCapital(name: "Sokoto", capital: "Sokoto"),
    StateCapital(name: "Taraba", capital: "Jalingo"),
    StateCapital(name: "Yobe", capital: "Damaturu"),
    StateCapital(name: "Zamfara", capital: "Gusau"),
  ];
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: appTitle,
      theme: ThemeData(
        primarySwatch: Colors.blue,
        textTheme: GoogleFonts.openSansTextTheme(),
        primaryTextTheme: GoogleFonts.openSansTextTheme().copyWith(
          headline6: TextStyle(
            color: Colors.white,
          ),
        ),
      ),
      debugShowCheckedModeBanner: false,
      home: DefaultTabController(
        length: 2,
        initialIndex: 1,
        child: Scaffold(
          appBar: AppBar(
            title: Text("Flutter Skeleton Loader Demo"),
            bottom: TabBar(
              labelColor: Colors.white,
              tabs: <Widget>[
                Tab(
                  text: "List",
                ),
                Tab(
                  text: "Grid",
                ),
              ],
            ),
          ),
          body: TabBarView(
            children: <Widget>[
              ListExample(stateCapitals: sc),
              GridExample(stateCapitals: sc),
            ],
          ),
        ),
      ),
    );
  }
}

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

License

MIT

カテゴリー

依存関係

依存関係一覧 1 件

ソースリポジトリ

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

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