如何解决这个问题?我没有收到字幕文字

问题描述 投票:1回答:1

See in the categories below catalogues 我无法在我的图像下方显示字幕

我所做的就是贴在下面。我想查看图像的标题,并且路径已经提供并存储在图像的ImageLocation变量和字幕文本的ImageCaption变量中。下面是该页面的完整代码,并且在main.dart中调用了Horizo​​ntalList类

   import 'package:flutter/material.dart';

class HorizontalList extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Container(
      height: 80.0,
      child:ListView(
        scrollDirection: Axis.horizontal,
        children: <Widget>[
          Category(
            imageLocation: 'images/cats/tshirt.png',
            imageCaption: 'shirt',
          ),

          Category(
            imageLocation: 'images/cats/jeans.png',
            imageCaption: 'jeans',
          ),

          Category(
            imageLocation: 'images/cats/dress.png',
            imageCaption: 'dress',
          ),

          Category(
            imageLocation: 'images/cats/formal.png',
            imageCaption: 'formal',
          ),

          Category(
            imageLocation: 'images/cats/shoe.png',
            imageCaption: 'shoe',
          ),

          Category(
            imageLocation: 'images/cats/informal.png',
            imageCaption: 'informal',
          ),

          Category(
            imageLocation: 'images/cats/accessories.png',
            imageCaption: 'accessory',
          ),
        ],
      ),
    );
  }
}

class Category extends StatelessWidget {
  final String imageLocation;
  final String imageCaption;

  Category({
    this.imageLocation,
    this.imageCaption
  });

  @override
  Widget build(BuildContext context) {
    return Padding(padding: const EdgeInsets.all(2.0),
      child: InkWell(
        onTap: (){},
        child: Container(
          width: 100.0,
          child: new ListTile(
            title: Image.asset(
              imageLocation,
              width: 100.0,
              height: 80.0
            ),
            subtitle: Container(
              alignment: Alignment.topCenter, 
              child: Text(imageCaption, style: new TextStyle(fontSize: 12.0),)
            ),  
          ),
        ),  
      ),
    );
  }
}
flutter
1个回答
0
投票

你只需要删除height: 80.0,,因为它正在修剪你的卡

所以你的代码将是

  import 'package:flutter/material.dart';

class HorizontalList extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Container(
      child:ListView(
        scrollDirection: Axis.horizontal,
        children: <Widget>[
          Category(
            imageLocation: 'images/cats/tshirt.png',
            imageCaption: 'shirt',
          ),

          Category(
            imageLocation: 'images/cats/jeans.png',
            imageCaption: 'jeans',
          ),

          Category(
            imageLocation: 'images/cats/dress.png',
            imageCaption: 'dress',
          ),

          Category(
            imageLocation: 'images/cats/formal.png',
            imageCaption: 'formal',
          ),

          Category(
            imageLocation: 'images/cats/shoe.png',
            imageCaption: 'shoe',
          ),

          Category(
            imageLocation: 'images/cats/informal.png',
            imageCaption: 'informal',
          ),

          Category(
            imageLocation: 'images/cats/accessories.png',
            imageCaption: 'accessory',
          ),
        ],
      ),
    );
  }
}

class Category extends StatelessWidget {
  final String imageLocation;
  final String imageCaption;

  Category({
    this.imageLocation,
    this.imageCaption
  });

  @override
  Widget build(BuildContext context) {
    return Padding(padding: const EdgeInsets.all(2.0),
      child: InkWell(
        onTap: (){},
        child: Container(
          width: 100.0,
          child: new ListTile(
            title: Image.asset(
              imageLocation,
              width: 100.0,
              height: 80.0
            ),
            subtitle: Container(
              alignment: Alignment.topCenter, 
              child: Text(imageCaption, style: new TextStyle(fontSize: 12.0),)
            ),  
          ),
        ),  
      ),
    );
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.