使用flutter Whats新包装

时间:2018-10-06 21:39:39

标签: dart flutter

我试图在我的flutter应用程序中使用whats新软件包,但我更改了版本,却什么也没有发生,我在此类的初始化状态下将其隐含了。是吗??

 void initState() {
super.initState();
        WhatsNewPage(
title: Text(
"What's New",
textScaleFactor: 1.0,
textAlign: TextAlign.center,
style: TextStyle(
    // Text Style Needed to Look like iOS 11
    fontSize: 22.0,
    fontWeight: FontWeight.bold,
),
),
buttonText: Text(
'Continue',
textScaleFactor: 1.0,
style: TextStyle(
    color: Colors.white,
),
),
items: <ListTile>[
ListTile(
    leading: Icon(Icons.color_lens),
    title: Text(
    'Dark Theme',
    textScaleFactor: 1.0,
    ), //Title is the only Required Item
    subtitle: Text(
    'Black and grey theme (Tap to Change)',
    textScaleFactor: 1.0,
    ),
    onTap: () {
    // You Can Navigate to Locations in the App
    Navigator.of(context).pop();
    },
),


], //Required
home: HomePage(), 
showNow: false, 
showOnVersionChange: true, 

);}

1 个答案:

答案 0 :(得分:1)

好吧,似乎文档尚不清楚,您可以在构建方法中使用该小部件,如下面的示例,在用户按下“继续”后,将NewPage()小部件替换为要使用的小部件

  class TestingPackage extends StatefulWidget {
    @override
    TestingPackageState createState() => TestingPackageState();
  }

  class TestingPackageState extends State<TestingPackage> {
    double textScaleFactor = 1.0;

    @override
    Widget build(BuildContext context) {
      return Scaffold(
        appBar: AppBar(),
        body: WhatsNewPage(
          title: Text(
            "What's New",
            textScaleFactor: textScaleFactor,
            textAlign: TextAlign.center,
            style: TextStyle(
              // Text Style Needed to Look like iOS 11
              fontSize: 22.0,
              fontWeight: FontWeight.bold,
            ),
          ),
          buttonText: Text(
            'Continue',
            textScaleFactor: textScaleFactor,
            style: TextStyle(
              color: Colors.white,
            ),
          ),
          // Create a List of WhatsNewItem for use in the Whats New Page
          // Create as many as you need, it will be scrollable
          items: <ListTile>[
            ListTile(
              leading: Icon(Icons.color_lens),
              title: Text(
                'Dark Theme',
                textScaleFactor: textScaleFactor,
              ), //Title is the only Required Item
              subtitle: Text(
                'Black and grey theme (Tap to Change)',
                textScaleFactor: textScaleFactor,
              ),
              onTap: () {
                // You Can Navigate to Locations in the App
                Navigator.of(context).pushNamed("/settings");
              },
            ),
            ListTile(
              leading: Icon(Icons.map),
              title: Text(
                'Google Maps',
                textScaleFactor: textScaleFactor,
              ),
              subtitle: Text(
                'Open Address Links in Google Maps instead of Apple Maps (Tap to Change)',
                textScaleFactor: textScaleFactor,
              ),
              onTap: () {
                // You Can Navigate to Locations in the App
                Navigator.of(context).pushNamed("/settings");
              },
            ),
            ListTile(
              leading: Icon(Icons.person_outline),
              title: Text(
                'Loan Contacts Enhancements',
                textScaleFactor: textScaleFactor,
              ),
              subtitle: Text(
                'Updated look for faster navigation',
                textScaleFactor: textScaleFactor,
              ),
              onTap: () {
                WhatsNewPage.showDetailPopUp(
                  context,
                  'Info',
                  "Navigate to any loan then select the bottom right icon to go to the contacts. You can press the dropdown arrow for contact information.",
                );
              },
            ),
          ], //Required
          home:
              NewPage(), // Where the Button will Navigate (Usually the Login or Home Screen)
          showNow:
              false, // Show now regarless of version change (Useful for showing from the main menu)
          showOnVersionChange:
              true, //Show only if the version changes or the user reinstalls the app
        ),
      );
    }
  }

  class NewPage extends StatelessWidget {
    @override
    Widget build(BuildContext context) {
      return Scaffold(
        appBar: AppBar(),
        body: Container(
          child: Text("new page"),
        ),
      );
    }
  }