フラッタgroupbutton 5.0.0リリースノート


皆さんこんにちは!


たくさんの人が私のことを読んでくれたgroup_button パッケージ
そして、私は5.0.0のバージョンに巨大なパッケージの更新について教えてください.

アップデートの主な特徴-ジェネリックに行く


変更履歴:
  • 🔥 GroupButton<T>は現在ジェネラルクラスです.これで、既定のGroupButtonコンストラクターのint、DateTime、Double、YourCustomClass型のボタンリストを作成できます.その他here
  • ❗️ 破壊:すべての4.3.0と4.6.0フィールドによって推奨されないパッケージから削除されました.その他here
  • ❗️ 中断:ButtonBuilderは4.6.0今ButtonIndexedBuilderはButtonBuilderの過去の機能を取った値でボタンを構築する
  • ⬆️ feon :現在選択されているメソッドで値引数を呼び出します.その他here
  • 🎀 更新された例とREADME
  • What is thats meaning ?


    新しい5.0.0バージョンでは、カスタムボタンの値の種類を設定することができます
    それはint、datetime、doubleまたはYourCustomClassでありえる
    ボタンテキストの結果になります.一般的なボタン表示ケースのtoString ()メソッド
    GroupButton<DateTime>(
      buttons: [DateTime(2022, 4, 9), DateTime(2022, 4, 10)],
    )
    
    また、カスタムButtonBuilderで一般的なボタンの値を使用することができます
    値をどんなウィジェットにでも変えるために
    GroupButton<DateTime>(
      buttons: [DateTime(2022, 4, 9), DateTime(2022, 4, 10)],
      buttonBuilder: (selected, date, context) {
        return Text('${date.year}-${date.month}-${date.day}');
      },
    ),
    

    カスタマイズ


    GroupButton内のボタンをカスタマイズするにはGroupButtonOptionsを使用できます
    GroupButtonOptions(
      selectedShadow: const [],
      selectedTextStyle: TextStyle(
        fontSize: 20,
        color: Colors.pink[900],
      ),
      selectedColor: Colors.pink[100],
      unselectedShadow: const [],
      unselectedColor: Colors.amber[100],
      unselectedTextStyle: TextStyle(
        fontSize: 20,
        color: Colors.amber[900],
      ),
      selectedBorderColor: Colors.pink[900],
      unselectedBorderColor: Colors.amber[900],
      borderRadius: BorderRadius.circular(100),
      spacing: 10,
      runSpacing: 10,
      groupingType: GroupingType.wrap,
      direction: Axis.horizontal,
      buttonHeight: 60,
      buttonWidth: 60,
      mainGroupAlignment: MainGroupAlignment.start,
      crossGroupAlignment: CrossGroupAlignment.start,
      groupRunAlignment: GroupRunAlignment.start,
      textAlign: TextAlign.center,
      textPadding: EdgeInsets.zero,
      alignment: Alignment.center,
      elevation: 0,
    ),
    

    ボタンBuilonBuilder


    カスタムビルダーメソッドを作成する
    ボタン[ t ]値で独自のカスタムボタン
    final buttons = ['10:00', '11:00', '12:00'];
    
    GroupButton(
      buttons: buttons,
      buttonBuilder: (selected, val, context) {
        return Text('$val is selected: $selected');
      },
    ),
    
    この例は次の

    グループビルダー


    カスタムビルダーメソッドを作成する
    ボタン[ int ]インデックスによる独自のカスタムボタン
    final buttons = ['10:00', '11:00', '12:00'];
    
    GroupButton(
      buttons: buttons,
      buttonIndexedBuilder: (selected, index, context) {
        return Text('${buttons[index]} selected: $selected');
      },
    ),
    

    削除してrefactorベースを削除する


    そして最後のものすごいchageはアップデートパッケージAPIです
    今、あなたは1コードラインでボタンのグループを作成することができます😳:

    GroupButton(buttons: ['10:00', '11:00', '12:00', '13:00']),
    
    GroupButton(buttons: [10.5, 11, 11.5, 12, 12.5]),
    
    GroupButton(buttons: [35, 36, 37, 38, 39]),
    
    GroupButton(buttons: [false, true]),
    
    この小さなポストを読んでくれてありがとう🙏!
    接続してくださいGitHub とPLSを置く✨スター✨ for this package