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(
),
),
)
);
}
}