Flutter组件篇之AboutListTile

Flutter组件篇之AboutListTile
显示关于框的ListTile。

此小部件通常添加到应用程序的抽屉中。 点击时,将显示一个带有showAboutDialog的关于对话框。

“关于”框将包含一个按钮,显示该应用程序使用的软件的许可证。 显示的许可证是由LicenseRegistry API返回的许可证,可用于将更多许可证添加到列表中。

如果您的应用程序没有抽屉,则应该提供能力来调用showAboutDialog或(至少)showLicensePage。

class AboutListTile extends StatelessWidget {
     
  const AboutListTile({
     
    Key key,
    this.icon,
    this.child,
    this.applicationName,
    this.applicationVersion,
    this.applicationIcon,
    this.applicationLegalese,
    this.aboutBoxChildren,
    this.dense,
  }) : super(key: key);
  final Widget icon;
  final Widget child;
  final String applicationName;
  final String applicationVersion;
  final Widget applicationIcon;
  final String applicationLegalese;
  final List<Widget> aboutBoxChildren;
  final bool dense;

  @override
  Widget build(BuildContext context) {
     
    assert(debugCheckHasMaterial(context));
    assert(debugCheckHasMaterialLocalizations(context));
    return ListTile(
      leading: icon,
      title: child ?? Text(MaterialLocalizations.of(context).aboutListTileTitle(
        applicationName ?? _defaultApplicationName(context),
      )),
      dense: dense,
      onTap: () {
     
        showAboutDialog(
          context: context,
          applicationName: applicationName,
          applicationVersion: applicationVersion,
          applicationIcon: applicationIcon,
          applicationLegalese: applicationLegalese,
          children: aboutBoxChildren,
        );
      },
    );
  }
}

1.applicationIcon:应用程序的图标。
2.applicationName:应用程序名称。
3.applicationVersion:应用程序版本。
4.applicationLegalese:著作权(copyright)的提示。
5.children:位置如上图的红蓝绿色的位置。
示例

import 'package:flutter/material.dart';

class AboutListTileWidget extends StatefulWidget {
     
  @override
  _AboutListTileWidgetState createState() => _AboutListTileWidgetState();
}

class _AboutListTileWidgetState extends State<AboutListTileWidget> {
     
  @override
  Widget build(BuildContext context) {
     
    return Scaffold(
      appBar: AppBar(
        title:Text('AboutListTile'),
        centerTitle: true,
      ),
      drawer: Drawer(
        child:ListView(
          children: <Widget>[
            Container(
              height: 50,
              color: Color(0xffcccccc),
              child: AboutListTile(

        ),
            )
          ],
        ) ,
      ),
      body: Center(
        child:  Container(
              height: 50,
              color: Color(0xffcccccc),
              child: AboutListTile(

        ),
            ),
      )
    );
  }
}

你可能感兴趣的:(Flutter组件篇,flutter)