socker 0.0.3 copy "socker: ^0.0.3" to clipboard
socker: ^0.0.3 copied to clipboard

Hazır widget ve extension içeren Flutter paketi

Socker #

pub paketi lisans

Socker, Flutter uygulamalarınızda ScaffoldMessenger ve Navigator durumlarına global olarak kolayca erişmenizi sağlayan bir yardımcı pakettir. Bu sayede, widget ağacının derinliklerinden veya farklı context'lerden bağımsız olarak snackbar gösterebilir, sayfalar arası geçiş yapabilirsiniz.

Özellikler #

  • MaterialApp için global scaffoldMessengerKey sağlar.
  • MaterialApp için global navigatorKey sağlar.
  • Basit ve anlaşılır API.
  • Flutter projelerine kolay entegrasyon.

Kurulum #

  1. Projenizin pubspec.yaml dosyasına socker bağımlılığını ekleyin:

    dependencies:
      flutter:
        sdk: flutter
      socker: ^0.0.2 # En son sürüm için pub.dev'i kontrol edin
    
  2. Bağımlılıkları projenize dahil etmek için terminalde aşağıdaki komutu çalıştırın:

    flutter pub get
    
  3. Kullanmak istediğiniz Dart dosyasına paketi import edin:

    import 'package:socker/socker.dart';  
    

Kullanıma Başlama #

Socker'ı kullanmak için MaterialApp widget'ınızda Socker sınıfı tarafından sağlanan global anahtarları (scaffoldMessengerKey ve navigatorKey) belirtmeniz yeterlidir.

@override
import 'package:flutter/material.dart';
import 'package:socker/socker.dart'; // Socker paketini import edin

// main.dart dosyanız
void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      // Socker tarafından sağlanan global anahtarları MaterialApp'e atayın
      scaffoldMessengerKey: Socker.scafKey, // Bu satırı ekleyin
      navigatorKey: Socker.navKey,         // Bu satırı ekleyin
      home: const MyHomePage(),
    );
  }
}

class MyHomePage extends StatelessWidget {
  const MyHomePage({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      /// context ile tema bilgisi alın
      /// context olmadan `Socker.isDark` kullanılabilir
      /// renk kullanirken ana yontem olarak sunu tercih edin:
      /// `backgroundColor: context.backgroundColor` bu yontem tema durumuna gore renk atayacaktir
      backgroundColor: context.isDark ? Colors.black : Colors.white,
      appBar: AppBar(
        title: const Text('Socker Demo Ana Sayfa'),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            TypewriterText(text: 'Bu metin daktilo tipi bir animasyon ile yazdirilacaktir'),
            20.height,
            ElevatedButton(
              onPressed: () {
                Socker.snackBar(title:  'Merhaba Socker!');
              },
              child: const Text('SnackBar Göster'),
            ),
            /// `const SizedBox(height: 20)` yerine kullanilabilir kisa yontem:
            20.height,
            ElevatedButton(
              onPressed: () {
                /// Socker kullanarak yeni bir sayfaya gitme
                /// no context method: `Socker.go(const DetailPage())`
                context.go(const DetailPage());
              },
              child: const Text('Detay Sayfasına Git'),
            ),
          ],
        ),
      ),
    );
  }
}

class DetailPage extends StatelessWidget {
  const DetailPage({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Detay Sayfası'),
      ),
      body: Center(
        child: Column(
          mainAxisSize: MainAxisSize.min,
          children: [
            Text('Bu detay sayfasıdır.'),
            32.height,
            TextButton(
              child: const Text('Sayfayi Kapat'),
              onPressed: context.back,
            ),
          ]
        ),
      ),
    );
  }
}

-add pubspec.yaml -

flutter:
  assets:
    assets/vectors/
    assets/images/
    assets/fonts/

Ek Bilgiler #

Paketle ilgili sorularınız, önerileriniz veya geri bildirimleriniz için aildev@outlook.com adresinden iletişime geçebilirsiniz.

Katkıda Bulunma #

Katkılarınızı memnuniyetle karşılıyoruz! Lütfen bir pull request açmadan önce, yapmak istediğiniz değişiklikleri tartışmak için bir issue oluşturun.

Lisans #

Bu proje MIT Lisansı altında lisanslanmıştır.

1
likes
0
points
4
downloads

Publisher

verified publisheraildev.com

Weekly Downloads

Hazır widget ve extension içeren Flutter paketi

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

cached_network_image, flutter, flutter_svg, visibility_detector

More

Packages that depend on socker