12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- import 'package:flutter/material.dart';
- import 'package:fooddeliveryapp/model/constants.dart';
- class Categories extends StatefulWidget {
- @override
- _CategoriesState createState() => _CategoriesState();
- }
- class _CategoriesState extends State<Categories> {
- List<String> categories = ["锅底", "荤菜", "素菜", "主食", "酒水", "调料"];
- int selectedIndex = 0;
- @override
- Widget build(BuildContext context) {
- return Padding(
- padding: EdgeInsets.symmetric(vertical: kDefaultPaddin),
- child: SizedBox(
- height: 35,
- child: ListView.builder(
- itemCount: categories.length,
- scrollDirection: Axis.horizontal,
- itemBuilder: (context, index) => buildCategory(index)),
- ),
- );
- }
- Widget buildCategory(int index) {
- return GestureDetector(
- onTap: () {
- setState(() {
- selectedIndex = index;
- print("[order页面]选择了第" + index.toString() + "个菜单页面");
- });
- },
- child: Padding(
- padding: const EdgeInsets.symmetric(horizontal: kDefaultPaddin),
- child: Column(
- crossAxisAlignment: CrossAxisAlignment.start,
- children: [
- Text(
- categories[index],
- style: TextStyle(
- fontWeight: FontWeight.bold,
- color: selectedIndex == index ? kTextColor : kTextLightColor),
- ),
- Container(
- margin: EdgeInsets.only(top: kDefaultPaddin / 4),
- height: 2,
- width: 30,
- color: selectedIndex == index ? Colors.black : Colors.transparent,
- )
- ],
- ),
- ),
- );
- }
- }
|