Flutter提供的一个通用展示结构,相应位置可插入组件,可以很方便地应对特定的条目,常用于Drawer中。

该组件的基本表现如下

【currentAccountPicture】: 上组件 【Widget】
【accountName】: 中组件 【Widget】
【accountEmail】: 下组件 【Widget】
【decoration】: 装饰 【Decoration】
image.png

  1. import 'package:flutter/material.dart';
  2. class CustomUAGHP extends StatelessWidget {
  3. @override
  4. Widget build(BuildContext context) {
  5. return Container(
  6. width: MediaQuery.of(context).size.width / 3 * 2,
  7. child: UserAccountsDrawerHeader(
  8. accountName: Container(
  9. padding: const EdgeInsets.all(8.0),
  10. child: Text(
  11. "张风捷特烈",
  12. style:
  13. TextStyle(color: Colors.orangeAccent, fontSize: 22, shadows: [
  14. Shadow(
  15. color: Colors.black, offset: Offset(.5, .5), blurRadius: 2),
  16. ]),
  17. ),
  18. ),
  19. accountEmail: Padding(
  20. padding: const EdgeInsets.all(8.0),
  21. child: Text("1981462002@qq.com",
  22. style: TextStyle(color: Colors.white, fontSize: 14, shadows: [
  23. Shadow(
  24. color: Colors.orangeAccent,
  25. offset: Offset(.5, .5),
  26. blurRadius: 2),
  27. ])),
  28. ),
  29. currentAccountPicture: Container(
  30. padding: const EdgeInsets.all(15.0),
  31. child: CircleAvatar(
  32. backgroundImage: AssetImage("assets/images/icon_head.png"),
  33. ),
  34. ),
  35. decoration: BoxDecoration(
  36. image: DecorationImage(image: AssetImage("assets/images/caver.jpeg")),
  37. ),
  38. ),
  39. );
  40. }
  41. }

右上角和底部

【otherAccountsPictures】: 右上组件 【List
【onDetailsPressed】: 右下角点击事件 【Function()】
【arrowColor】: 右下角按钮颜色 【Color】
【margin】: 外边距 【EdgeInsetsGeometry】
image.png

import 'package:flutter/material.dart';
class ProUAGHP extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Container(
      width: MediaQuery.of(context).size.width / 3 * 2,
      child: UserAccountsDrawerHeader(
        margin: EdgeInsets.all(10),
        accountName: Container(
          padding: const EdgeInsets.all(8.0),
          child: Text(
            "张风捷特烈",
            style:
                TextStyle(color: Colors.orangeAccent, fontSize: 22,
                    shadows: [
              Shadow(
                  color: Colors.black,
                  offset: Offset(.5, .5),
                  blurRadius: 2),
            ]),
          ),
        ),
        accountEmail: Padding(
          padding: const EdgeInsets.all(8.0),
          child: Text("1981462002@qq.com",
              style: TextStyle(
                  color: Colors.white, fontSize: 14,
                  shadows: [
                Shadow(
                    color: Colors.orangeAccent,
                    offset: Offset(.5, .5),
                    blurRadius: 2),
              ])),
        ),
        currentAccountPicture: Container(
          padding: const EdgeInsets.all(15.0),
          child: CircleAvatar(
            backgroundImage: AssetImage("assets/images/icon_head.png"),
          ),
        ),
        otherAccountsPictures: <Widget>[
          FlutterLogo(colors: Colors.green),
        ],
        onDetailsPressed: () {

        },
        arrowColor: Colors.white,
        decoration: BoxDecoration(
          image: DecorationImage(
              image: AssetImage("assets/images/caver.jpeg")),
        ),
      ),
    );
  }
}