Flutter 如何使图像的1/3占据全屏

Flutter 如何使图像的1/3占据全屏,flutter,Flutter,我有一个图像,我想剪切并显示在多个屏幕上。我想要三分之一的图像占据整个屏幕 到目前为止,我可以通过以下方式获得1/3的图像,占据屏幕的1/3: Widget buildBGImage(String imageName) { return new Container( decoration: new BoxDecoration(border: new Border.all()), constraints: new BoxConstraints.expand(),

我有一个图像,我想剪切并显示在多个屏幕上。我想要三分之一的图像占据整个屏幕

到目前为止,我可以通过以下方式获得1/3的图像,占据屏幕的1/3:

 Widget buildBGImage(String imageName) {
    return new Container(
      decoration: new BoxDecoration(border: new Border.all()),
      constraints: new BoxConstraints.expand(),
  child: new SizedBox.expand(
      child: new ClipRect(
          clipper: new WidthClipper(currentPage),
          child: new Image.asset(
              "assets/images/$imageName",
              fit: ImageFit.fill)
      )
  ),
);
}

class WidthClipper扩展了CustomClipper{
int段;
宽度裁剪器(本节);
@凌驾
Rect getClip(大小){
返回新的Rect.fromLTWH(
尺寸宽度*(截面/3),0.0,尺寸宽度/3,尺寸高度);
}
@凌驾
bool shouldReclip(WidthClipper oldClipper)=>true;
}

但是我正在画一张关于如何使1/3占据整个屏幕的图纸。

这难道不是一个如何将图像数据整合到全屏
图像中的问题吗?另外,如果原始图像的三分之一的纵横比不适合全屏的纵横比,您希望发生什么

例如,它在全屏纵向模式下显示(大致)横向图像的中心三分之一:

new Image.network(
    "https://upload.wikimedia.org/wikipedia/commons/5/5a/Monument_Valley_2.jpg",
    fit: ImageFit.fitHeight,
    alignment: FractionalOffset.center,
)

alignment:secretialoffset.centerLeft
alignment:secretialoffset.centerRight
分别(大致)显示左三分之一和右三分之一。

我认为这会起作用。我现在的问题是,在页面视图中使用这种方法在页面之间不是无缝的。@马克,我对颤振也很陌生,所以我也不确定如何继续。。。当你的源图像没有清晰地分割成三分之三,每一个都适合全屏显示时,你会如何处理这种情况?只需使用多于/少于3页?在第一页和最后一页添加左右填充?
ImageFit
在该问题和答案出现10天后重命名为
BoxFit
new Image.network(
    "https://upload.wikimedia.org/wikipedia/commons/5/5a/Monument_Valley_2.jpg",
    fit: ImageFit.fitHeight,
    alignment: FractionalOffset.center,
)