如何使Flutter DrawerHeader固定?

时间:2019-07-28 00:29:53

标签: flutter dart

我正在尝试创建一个Drawer,但不知何故我无法找到任何方法使其DrawerHeader保持固定(同时下面的项目保持滚动)。尝试了扩展,Flex等,但是以某种方式我缺少了一些东西。这是有效的代码,但是标题将与下面列表视图中的项目一起向上滚动

Widget _drawerList(BuildContext context) {

  return Drawer(
      elevation: 20.0,
      child: ListView(
        children: <Widget>[
          Container(
            height: 120.0,
            child: DrawerHeader(
              decoration: BoxDecoration(color: Colors.orange),
              child: Text('HEADER'),
            ),
          ),
          Column(
            children: <Widget>[
              ListTile(
                title: Text("ITEM 1"),
              ),
              ListTile(
                title: Text("ITEM 2"),
              ),
              ListTile(
                title: Text("ITEM 3"),
              ),
              ListTile(
                title: Text("ITEM 4"),
              ),
              ListTile(
                title: Text("ITEM 5"),
              ),
              ListTile(
                title: Text("ITEM 6"),
              ),
              ListTile(
                title: Text("ITEM 7"),
              ),
              ListTile(
                title: Text("ITEM 8"),
              ),
              ListTile(
                title: Text("ITEM 9"),
              ),
              ListTile(
                title: Text("ITEM 10"),
              ),
              ListTile(
                title: Text("ITEM 11"),
              ),
              ListTile(
                title: Text("ITEM LAST"),
              ),
            ],
          )
         ],
      ),
  );
}

2 个答案:

答案 0 :(得分:1)

您可以将Column用作父视图而不是ListView,然后在内部用ListView替换Column,这样标题就可以固定在它的位置,并且Item可以滚动。

答案 1 :(得分:1)

enter image description here

$ cat <<EOF | kubectl apply -f -
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: <any-name>
subjects:
- kind: User
  name: <service-account-email>
roleRef:
  kind: ClusterRole
  name: view
  apiGroup: rbac.authorization.k8s.io
EOF