initial
This commit is contained in:
31
lib/packages/list_view_extension/row_extension.dart
Normal file
31
lib/packages/list_view_extension/row_extension.dart
Normal file
@@ -0,0 +1,31 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'dart:math';
|
||||
import 'helper.dart';
|
||||
|
||||
class RowExtension extends StatelessWidget {
|
||||
final Function(BuildContext, int) _itemBuilder;
|
||||
final int _itemCount;
|
||||
final MainAxisAlignment _mainAxisAlignment;
|
||||
|
||||
RowExtension.builder(
|
||||
{required itemBuilder, required itemCount, mainAxisAlignment})
|
||||
: _itemBuilder = itemBuilder,
|
||||
_itemCount = itemCount,
|
||||
_mainAxisAlignment = mainAxisAlignment ?? MainAxisAlignment.start;
|
||||
|
||||
RowExtension.separated(
|
||||
{required itemBuilder,
|
||||
required separatorBuilder,
|
||||
required int itemCount,
|
||||
mainAxisAlignment})
|
||||
: _itemBuilder = getSeparatedItemBuilder(itemBuilder, separatorBuilder),
|
||||
_itemCount = max(0, itemCount * 2 - 1),
|
||||
_mainAxisAlignment = mainAxisAlignment;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) => Row(
|
||||
mainAxisAlignment: _mainAxisAlignment,
|
||||
children:
|
||||
List<Widget>.generate(_itemCount, (i) => _itemBuilder(context, i)),
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user