Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 如何在边框中左右对齐_Flutter - Fatal编程技术网

Flutter 如何在边框中左右对齐

Flutter 如何在边框中左右对齐,flutter,Flutter,我有一个问题,我希望图像在边框中左右对齐,请帮助我! 使用ClipOval在CircleAvatar内绘制图像 斜坡 孩子:新CircleAvatar 半径:66, 子级:newimage.asset'assets/images/Image.jpg', , , 您需要在图片中添加合适的封面 例如: 斜坡 子:Image.asset 路径图像, 适合:BoxFit.cover, 或 或 圆形 半径:30.0, 背景图片: NetworkImage“您的img\u url”, 背景颜色:Colors

我有一个问题,我希望图像在边框中左右对齐,请帮助我!
使用ClipOval在CircleAvatar内绘制图像

斜坡 孩子:新CircleAvatar 半径:66, 子级:newimage.asset'assets/images/Image.jpg', , ,
您需要在图片中添加合适的封面

例如:

斜坡 子:Image.asset 路径图像, 适合:BoxFit.cover, 或

圆形 半径:30.0, 背景图片: NetworkImage“您的img\u url”, 背景颜色:Colors.grey,//占位符颜色 `` 我希望这有帮助
处理有图像和无图像以及避免半径的两种情况的最佳方法是使用带有适当参数的ClipOval和CircleAvatar

如何使用它 在您使用它的地方,您可以放置:

Positioned(
                    left: 16,
                    right: 16,
                    child: CircleAvatar(
                      radius: 66,
                    child: response.users.photo != null
                        ? Image.network(Modal.url + response.users.photo, width: 120, height: 140,)
                        : Image.asset(
                            'assets/user-icon.png',
                          ),
                    ),
这是唯一一个可以设置尺寸、无半径等的地方

构建化身 这个方法将根据照片返回两种类型的小部件,它是否为null

child: Container(
  width: 300,
  height: 300,
  child: ClipOval(
    child: buildAvatar(photo),
  ),
),
演示 在运行时,我修改照片是null还是url ans大小150x150和300x300

我的解决方案有效吗?:
Widget buildAvatar(String photo) {
  if (photo == null) {
    return CircleAvatar(
        child: Container(
      color: Colors.white,
      padding: const EdgeInsets.all(30.0),
      child: Image.asset(
        'assets/user-icon.png',
      ),
    ));
  } else {}
  return CircleAvatar(
    backgroundImage: NetworkImage(
      photo,
    ),
  );
}