12_flutter_ExpansionTile,tooltip,打包

333 阅读1分钟

1_ExpansionTile


import 'package:flutter/material.dart';

void main() {
  runApp(ExpansionTileSample());
}

class ExpansionTileSample extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('ExpansionTile'),
        ),
        body: ListView.builder(
          itemBuilder: (BuildContext context, int index) => EntryItem(data[index]),
          itemCount: data.length,
        ),
      ),
    );
  }
}
class Entry {
  Entry(this.title, [this.children = const <Entry>[]]);
  final String title;
  final List<Entry> children;
}

final List<Entry> data = <Entry>[
  Entry('电压',
    <Entry>[
      Entry('直流',
        <Entry>[
          Entry('交流'),
          Entry('脉冲'),
          Entry('越变'),
        ],
      ),
      Entry('逆变'),
      Entry('下冲'),
    ],
  ),
  Entry('升压',
    <Entry>[
      Entry('升降压'),
      Entry('降压'),
    ],
  ),
  Entry('水果',
    <Entry>[
      Entry('苹果'),
      Entry('梨子'),
      Entry('香蕉',
        <Entry>[
          Entry('flutter'),
          Entry('kotlin'),
          Entry('java'),
          Entry('c'),
        ],
      ),
    ],
  ),
];


class EntryItem extends StatelessWidget {
  const EntryItem(this.entry);

  final Entry entry;

  Widget _buildTiles(Entry root) {
    if (root.children.isEmpty)
      return ListTile(title: Text(root.title));
    return ExpansionTile(
      key: PageStorageKey<Entry>(root),
      title: Text(root.title),
      children: root.children.map(_buildTiles).toList(),
    );
  }

  @override
  Widget build(BuildContext context) {
    return _buildTiles(entry);
  }
}

2_tooltip


import 'package:flutter/material.dart';

void main() => runApp(SnackBarDemo());

class SnackBarDemo extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Tooltip Demo'),
        ),
        body: SnackBarPage(),
      ),
    );
  }
}

class SnackBarPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Center(
      child: RaisedButton( 
        child: Tooltip(
           message: '提示成功',
           height: 10.0,
           child: Text('data'),
         ),
        onPressed: () {
        
        },
       
      ),
    );
  }
}

3_打包


app名称

设置版本号

APK名称(包裹在android{}里面)

    applicationVariants.all { variant ->
        variant.outputs.all {
            def appName = "APK名称"
            outputFileName = appName+"-${variant.versionName}.apk"
        }}

app图标修改

app打包