residemenu 1.2.0

  • README.md
  • CHANGELOG.md
  • Example
  • Installing
  • Versions
  • new50

flutter_residemenu

Residemenu for flutter,android and ios supported

Screenshot

ios

Usage

declare in pubspec.yaml


dependencies:
  ...

  residemenu:
    ^1.2.0

build() method to create my ResideMenu Widget,child is your contentView(if you use MaterialApp,mostly Scaffold), about leftScafford,rightScafford,they are used to build your MenuView According to the layout of the public. the more you can see the demo find how to use.If you do not meet your needs, you can use the ResideMenu.custom method.


      Widget buildItem(msg) {
        return new Material(
          color: Colors.transparent,
          child: new InkWell(
            child: const ResideMenuItem(
                title: "菜单一", icon: const Icon(Icons.home, color: Colors.grey),right: const Icon(Icons.arrow_forward,color:Colors.grey),),
            onTap: () {
              Scaffold
                  .of(context)
                  .showSnackBar(new SnackBar(content: new Text('你点击了$msg')));
            },
          ),
        );
      }

    new ResideMenu.scafford(

            decoration: new BoxDecoration(
                image: new DecorationImage(
                    image: new AssetImage("images/menu_background.png"),
                    fit: BoxFit.cover)),
            leftScafford: new MenuScaffold(
                                  header: new ConstrainedBox(

                                    constraints: new BoxConstraints(maxHeight: 80.0, maxWidth: 80.0),
                                    child: new CircleAvatar(

                                      backgroundImage: new AssetImage('images/author.jpeg'),
                                      radius: 40.0,
                                    ),
                                  ),
                                  children: <Widget>[
                                    buildItem("菜单一"),
                                    buildItem("菜单二"),
                                    buildItem("菜单三"),
                                    buildItem("菜单四"),
                                    buildItem("菜单五")
                                  ],
                                ),
            rightScafford: ...,
            controller: _menuController,
            child: ...
            )

Table

Attribute NameAttribute ExplainParameter TypeDefault Valuerequirement
childyour content ViewWidgetnullnecessary
directionThe direction of allowing ResideMenu to slideenumleftoptional
leftView,rightViewthe Menu Content ViewWidgetnulloptional
elevationContent View shadowdouble12.0optional
controllerControl menu behavior, get menu status, monitor menu open, close and other events.MenuControllernulloptional
decorationuse to set bg and color in bottomBoxDecorationnulloptional
onOpenEvent(bool isOpenLeft) => Voidnulloptional
onCloseEvent() => Voidnulloptional
onOffsetChangewhen the child offset change it will callback(0~1)(double offset) => voidnulloptional

LICENSE

MIT License

Copyright (c) 2018 Jpeng

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

[1.0.0] - 2018-5-10

  • initalRelease

[1.1.0] - 2018-5-11

  • Add ScaleAlpha Effect when open or close

[1.1.5] - 2018-5-18

  • Fix the problem of state loss of the controller
  • Add ResideMenuItem and Scfford to constructor Menu
  • Provide another way to build MenuView

[1.1.8] - 2018-5-21

  • Fix my igore to limit scroll when Direction == LEFT or RIGHT

[1.2.0] - 2018-5-22

  • Fixed when content View clicks some gestureDector can not be closed.
  • Fix itemExtent not used for Scafford

example/lib/main.dart

import 'MainActivity.dart';
import 'package:flutter/material.dart';

void main() => runApp(new MyApp());

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return new MaterialApp(
      title: 'Residemenu',
      debugShowCheckedModeBanner: false,
      theme: new ThemeData(
        // This is the theme of your application.
        //
        // Try running your application with "flutter run". You'll see the
        // application has a blue toolbar. Then, without quitting the app, try
        // changing the primarySwatch below to Colors.green and then invoke
        // "hot reload" (press "r" in the console where you ran "flutter run",
        // or press Run > Flutter Hot Reload in IntelliJ). Notice that the
        // counter didn't reset back to zero; the application is not restarted.
        primarySwatch: Colors.blue,
      ),
      home: new MyHomePage(title: 'Residemenu'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);

  // This widget is the home page of your application. It is stateful, meaning
  // that it has a State object (defined below) that contains fields that affect
  // how it looks.

  // This class is the configuration for the state. It holds the values (in this
  // case the title) provided by the parent (in this case the App widget) and
  // used by the build method of the State. Fields in a Widget subclass are
  // always marked "final".

  final String title;

  @override
  _MyHomePageState createState() => new _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {



  @override
  Widget build(BuildContext context) {

    // This method is rerun every time setState is called, for instance as done
    // by the _incrementCounter method above.
    //
    // The Flutter framework has been optimized to make rerunning build methods
    // fast, so that you can just rebuild anything that needs updating rather
    // than having to individually change instances of widgets.
    return new Scaffold(
      body: new MainActivity(),
    );
  }
}

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  residemenu: "^1.2.0"

2. Install it

You can install packages from the command line:

with Flutter:


$ flutter packages get

Alternatively, your editor might support flutter packages get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


      import 'package:residemenu/residemenu.dart';
  
Version Uploaded Documentation Archive
1.2.0 May 22, 2018 Go to the documentation of residemenu 1.2.0 Download residemenu 1.2.0 archive
1.1.8 May 21, 2018 Go to the documentation of residemenu 1.1.8 Download residemenu 1.1.8 archive
1.1.5 May 18, 2018 Go to the documentation of residemenu 1.1.5 Download residemenu 1.1.5 archive
1.1.0 May 11, 2018 Go to the documentation of residemenu 1.1.0 Download residemenu 1.1.0 archive
1.0.0 May 10, 2018 Go to the documentation of residemenu 1.0.0 Download residemenu 1.0.0 archive

Analysis

We analyzed this package on May 22, 2018, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.0.0-dev.54.0
  • pana: 0.11.1
  • Flutter: 0.4.4

Scores

Popularity:
Describes how popular the package is relative to other packages. [more]
0 / 100
Health:
Code health derived from static analysis. [more]
99 / 100
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
100 / 100
Overall score:
Weighted score of the above. [more]
50
Learn more about scoring.

Platforms

Detected platforms: Flutter

References Flutter, and has no conflicting libraries.

Suggestions

  • The description is too short.

    Add more detail about the package, what it does and what is its target use case. Try to write at least 60 characters.

  • Fix analysis and formatting issues.

    Analysis or formatting checks reported 2 hints.

    Run flutter format to format lib/residemenu.dart.

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.0.0-dev.28.0 <3.0.0
flutter 0.0.0
Transitive dependencies
collection 1.14.6 1.14.9
meta 1.1.5
sky_engine 0.0.99
typed_data 1.1.5
vector_math 2.0.6 2.0.7