📜  产品颜色尺寸抖动 - 无论代码示例

📅  最后修改于: 2022-03-11 15:00:44.702000             🧑  作者: Mango

代码示例1
import 'package:flutter/material.dart';

class SizeSelector extends StatelessWidget {
  final List sizes;
  final String selectedSize;
  final void Function(String) onSizeSelected;

  const SizeSelector(
      {Key key, this.sizes, this.selectedSize, this.onSizeSelected})
      : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Row(
      children: List.generate(
          sizes.length,
          (index) => Padding(
                padding: const EdgeInsets.all(5.0),
                child: Material(
                  child: InkWell(
                    borderRadius: BorderRadius.circular(3),
                    onTap: () => onSizeSelected(sizes[index]),
                    child: Ink(
                      height: 50,
                      width: 50,
                      decoration: BoxDecoration(
                          color: selectedSize == sizes[index]
                              ? Color(0xFF667EEA)
                              : Color(0xFFF3F3F3),
                          borderRadius: BorderRadius.circular(3)),
                      child: Align(
                        alignment: Alignment.center,
                        child: Text(
                          sizes[index],
                          style: Theme.of(context).textTheme.headline6.copyWith(
                              color: selectedSize == sizes[index]
                                  ? Colors.white
                                  : Colors.black87),
                        ),
                      ),
                    ),
                  ),
                ),
              )),
    );
  }
}