我GridView用来显示 2 列产品列表。右列将被向下推一点,以制作交错的网格视图。
为此,我使用OverflowBox右栏中的产品。我得到了想要的用户界面。每个网格图块都被包裹起来,当用户触摸网格图块时,GestureDetector它会打印'Tapped'出来。但是,网格图块的推入部分是不可触摸的(图像中的红色框)。
这是我的代码片段和屏幕截图以供说明:
import 'package:flutter/material.dart';
import '../models/products.dart';
import './vertical_product_card.dart';
class ProductsGrid extends StatelessWidget {
final List<Product> products;
ProductsGrid(this.products);
@override
Widget build(BuildContext context) {
final screenWidth = MediaQuery.of(context).size.width;
return ClipRRect(
borderRadius: BorderRadius.only(
bottomLeft: Radius.circular(40),
bottomRight: Radius.circular(40),
),
child: Container(
color: Theme.of(context).primaryColor,
child: GridView.builder(
shrinkWrap: true,
padding:
const EdgeInsets.only(top: 10, bottom: 50, left: 15, right: 15),
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 2,
childAspectRatio: (screenWidth - 30 - 15) / (2 * 290),
mainAxisSpacing: 15, …Run Code Online (Sandbox Code Playgroud)