构建Flutter APK时未渲染小部件

时间:2020-08-25 21:35:58

标签: flutter build flutter-layout

所以我一直在研究抖动,但是最近,在我更换笔记本电脑之后,我遇到了一个奇怪的问题。

当我在模拟器或物理设备上以调试模式运行该应用程序时,它运行良好 但是当我构建一个apk(调试并同时发布)时,它无法渲染某些小部件。这次我有一张卡片,并且在上面显示了一些数据,但是我看到的是灰色而不是我的数据

应如何显示: Working app screenshot

它如何显示在通过内置APK安装的应用中:

Error app screenshot

这是具有问题的卡片小部件代码(我已将用户的信息保存在Globals.currentUser上,并将其作为用户传递给个人资料页面)

ExpandablePanel(
            collapsed: Container(
              height: 170,
              child: Card(
                shape: RoundedRectangleBorder(
                    borderRadius: BorderRadius.circular(20)
                ),
                elevation: 8,
                child: Center(
                  child: Expanded(
                    child: Table(
                      children: [
                        TableRow(
                          children: [
                            Expanded(child: Text('Name',style: GoogleFonts.comfortaa(),)),
                            Expanded(child: Text('${widget.user.data['name']}',style: GoogleFonts.comfortaa(),)),
                          ],
                        ),
                        TableRow(
                            children: [
                              SizedBox(height: 8,),
                              SizedBox(height: 8,),
                            ]
                        ),
                        TableRow(
                          children: [
                            Expanded(child: Text('Country',style: GoogleFonts.comfortaa(),)),
                            Expanded(child: Text('${widget.user.data['country']}',style: GoogleFonts.comfortaa(),)),
                          ],
                        ),
                        TableRow(
                            children: [
                              SizedBox(height: 8,),
                              SizedBox(height: 8,),
                            ]
                        ),
                        TableRow(
                          children: [
                            Expanded(child: Text('City',style: GoogleFonts.comfortaa(),)),
                            Expanded(child: Text('${widget.user.data['city']}',style: GoogleFonts.comfortaa(),)),
                          ],
                        ),
                        TableRow(
                            children: [
                              SizedBox(height: 8,),
                              SizedBox(height: 8,),
                            ]
                        ),
                        TableRow(
                          children: [
                            Expanded(child: Text('Username',style: GoogleFonts.comfortaa(),)),
                            Expanded(child: Text ('${widget.user.data['username']}',style: GoogleFonts.comfortaa(),)),
                          ],
                        ),
                        TableRow(
                            children: [
                              SizedBox(height: 8,),
                              SizedBox(height: 8,),
                            ]
                        ),
                      ],
                    ),
                  ),
                ),
              ),
            ),
            header: Padding(
                padding: EdgeInsets.fromLTRB(20, 10, 20, 10),
                child: Text("About me",style: GoogleFonts.poppins(fontSize: 20,fontWeight: FontWeight.w400),)),
          )

2 个答案:

答案 0 :(得分:0)

似乎您的应用程序读取了外部数据库以获取所需的数据,但是您没有在android\app\src\main\AndroidManifest.xml的主AndroidManifest.xml文件中添加Internet权限。

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.new_app">
    <!-- Add the following line
    -->
    <uses-permission android:name="android.permission.INTERNET"/>
</manifest>

Internet权限是通过flutter添加到调试和配置文件清单中的,当应用在模拟器上以调试模式运行时,默认情况下会使用这些清单

答案 1 :(得分:0)

我修复了!

我不确定这是什么,但我同时使用表格和扩展小部件 因此,我删除了表,并使用包裹在没有扩展的列中的行,并且运行良好