小编Err*_*per的帖子

GestureDetector 在带溢出框的交错 GridView 中是不可触碰的

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)

dart flutter flutter-layout

5
推荐指数
1
解决办法
317
查看次数

标签 统计

dart ×1

flutter ×1

flutter-layout ×1