簡體   English   中英

將圖像添加到 Flutter

[英]Adding image to Flutter

這是我第一次使用 Flutter,當我嘗試添加圖像時,它並沒有很好地工作。 首先我嘗試通過 Image.assets('assets/lpp_bezpozadine.png') 將 Image 添加到 child:Container - 沒有工作然后我嘗試制作一個單獨的方法:

class LppImage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    AssetImage assetImage = AssetImage('assets/lpp_bezpozadine.png');
    Image image = Image(image: assetImage);
    return Container(
      child: image,
    );
  }
}

我試圖從中稱呼孩子:-但它說我不能使用孩子?

我已將圖片添加到 pubspec.yaml 如下:

assets:
    - assets/lpp_bezpozadine.png

所以如果有人能幫我解決這個問題,因為我剛從 flutter 開始。 提前感謝這是我的代碼:

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    const darkBlueColor = const Color(0xff131f40);
    const lightBlueColor = const Color(0xff445c9e);
    return Scaffold(
      body: Center(
        child: Container(
          decoration: BoxDecoration(
            gradient: LinearGradient(
              colors: [
                darkBlueColor,
                lightBlueColor,
              ],
              stops: [0.5, 1],
              begin: const FractionalOffset(0.5, 0.2),
              end: const FractionalOffset(1, 1),
            ),
          ),
        ),
      ),
    );
  }
}

當我嘗試添加孩子時,錯誤日志顯示將其轉換為孩子:

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    const darkBlueColor = const Color(0xff131f40);
    const lightBlueColor = const Color(0xff445c9e);
    return Scaffold(
      body: Center(
       children: <Widget>[
          LppImage(),
        ],
        child: Container(
          decoration: BoxDecoration(
            gradient: LinearGradient(
              colors: [
                darkBlueColor,
                lightBlueColor,
              ],
              stops: [0.5, 1],
              begin: const FractionalOffset(0.5, 0.2),
              end: const FractionalOffset(1, 1),
            ),
          ),
        ),
      ),
    );
  }
}

我不知道 flutter 是否能夠找到圖像,因為沒有錯誤日志,但這是使用資產圖像的正確方法:

class LppImage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Container(
      child: Image.asset('assets/lpp_bezpozadine.png'),
    );
  }
}

接下來,我看到您正在嘗試將Centerchildren一起使用。 Center只收child 所以這就是你將如何使用它:

Center(
  child: LppImage(),
),

如果你想使用多個孩子,你應該考慮一個Column以便你可以這樣做:

Column(
   children: [
      Center(
         child: LppImage(),
      ),
      Container(),
   ],
),

您是否嘗試過重新啟動完整的應用程序? 有時熱重裝看不到資產。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM