我如何申请onTap()
Container(
height: MediaQuery.of(context).size.height / 6,
child: ListView.builder(
primary: false,
scrollDirection: Axis.horizontal,
shrinkWrap: true,
itemCount: categories == null ? 0 : categories.length,
itemBuilder: (BuildContext context, int index) {
Map cat = categories[index];
return Padding(
padding: EdgeInsets.only(right: 10.0),
child: ClipRRect(
borderRadius: BorderRadius.circular(8.0),
child: Stack(
children: <Widget>[
Image.asset(
cat["img"],
height: MediaQuery.of(context).size.height / 6,
width: MediaQuery.of(context).size.height / 6,
fit: BoxFit.cover,
),
Container(
decoration: BoxDecoration(
gradient: LinearGradient(
begin: Alignment.topCenter,
end: Alignment.bottomCenter,
// Add one stop for each color. Stops should increase from 0 to 1
stops: [0.2, 0.7],
colors: [
cat['color1'],
cat['color2'],
],
// stops: [0.0, 0.1],
),
),
height: MediaQuery.of(context).size.height / 6,
width: MediaQuery.of(context).size.height / 6,
),
Center(
child: Container(
height: MediaQuery.of(context).size.height / 6,
width: MediaQuery.of(context).size.height / 6,
padding: EdgeInsets.all(1),
constraints: BoxConstraints(
minWidth: 20,
minHeight: 20,
),
child: Center(
child: Text(
cat["name"],
style: TextStyle(
color: Colors.white,
fontSize: 20,
fontWeight: FontWeight.bold,
),
textAlign: TextAlign.center,
),
),
),
),
],
),
),
);
},
),
),
答案 0 :(得分:0)
GestureDetector(
onTap: (){},
child: Container(
height: MediaQuery.of(context).size.height / 6,
child: ListView.builder(
primary: false,
scrollDirection: Axis.horizontal,
shrinkWrap: true,
itemCount: categories == null ? 0 : categories.length,
itemBuilder: (BuildContext context, int index) {
Map cat = categories[index];
return Padding(
padding: EdgeInsets.only(right: 10.0),
child: ClipRRect(
borderRadius: BorderRadius.circular(8.0),
child: Stack(
children: <Widget>[
Image.asset(
cat["img"],
height: MediaQuery.of(context).size.height / 6,
width: MediaQuery.of(context).size.height / 6,
fit: BoxFit.cover,
),
Container(
decoration: BoxDecoration(
gradient: LinearGradient(
begin: Alignment.topCenter,
end: Alignment.bottomCenter,
// Add one stop for each color. Stops should increase from 0 to 1
stops: [0.2, 0.7],
colors: [
cat['color1'],
cat['color2'],
],
// stops: [0.0, 0.1],
),
),
height: MediaQuery.of(context).size.height / 6,
width: MediaQuery.of(context).size.height / 6,
),
Center(
child: Container(
height: MediaQuery.of(context).size.height / 6,
width: MediaQuery.of(context).size.height / 6,
padding: EdgeInsets.all(1),
constraints: BoxConstraints(
minWidth: 20,
minHeight: 20,
),
child: Center(
child: Text(
cat["name"],
style: TextStyle(
color: Colors.white,
fontSize: 20,
fontWeight: FontWeight.bold,
),
textAlign: TextAlign.center,
),
),
),
),
],
),
),
);
},
),
),
)