分类
其他

js创建对象的几种方式(工厂模式、构造函数模式、原型模式)

参考链接

js创建对象的几种方式(工厂模式、构造函数模式、原型模式)

分类
Flutter

flutter之疑难杂症

iOS编译提示:Multiple commands produce

执行如下操作

1. In Xcode, go to File->Workspace settings.
2. Change the build system to Legacy Build system.

参考链接

Xcode 10 Error: Multiple commands produce

iOS因安装simple_permissions 插件运行报错

Showing Recent Messages
项目根目录/ios/Pods/Headers/Public/simple_permissions/SimplePermissionsPlugin.h:1:9: 'Flutter/Flutter.h' file not found

Could not build Objective-C module 'simple_permissions'

解决方式

platform :ios, '10.0' <- Uncomment this line

target 'Runner' do
use_frameworks! <- add this line

https://github.com/Ethras/flutter_simple_permissions/issues/22

Android dependency 'androidx.versionedparcelable:versionedparcelable' has different version for the compile (1.0.0-beta01) and runtime (1.0.0) classpath. You should manually set the same version via DependencyResolution

添加如下代码


rootProject.allprojects {
    project.configurations.all {
        resolutionStrategy.eachDependency { details ->
            if (details.requested.group == 'androidx.core') {
                details.useVersion "1.0.1"
            }
            if (details.requested.group == 'androidx.lifecycle') {
                details.useVersion "2.0.0"
            }
            if (details.requested.group == 'androidx.versionedparcelable') {
                details.useVersion "1.0.0"
            }
        }
    }
}

参考连接

Flutter upgrade and Android X – beware! (solution inside)

分类
Flutter

flutter之小技巧

隐藏软键盘

FocusScope.of(context).requestFocus(FocusNode());

StatelessWidgetStatefulWidgetflutter的基础组件,日常开发中自定义Widget都是选择继承这两者之一。

两者的区别在于状态的改变StatelessWidget面向那些始终不变的UI控件,比如标题栏中的标题;而StatefulWidget则是面向可能会改变UI状态的控件,比如有点击反馈的按钮。

分类
Flutter

flutter 生命周期

参考链接

flutter 生命周期

分类
Flutter

flutter之text

const Text(this.data//内容, {
Key key,
this.style//样式
this.textAlign//对齐方式,
this.textDirection//文本方向,
this.softWrap//是否换行显示,
this.overflow//超出文本的处理方式,
this.textScaleFactor//每个逻辑像素的字体像素数,控制字体大小,
this.maxLines//最大行数,
  })
const TextStyle({
this.inherit: true,
this.color//颜色,
this.fontSize//大小,默认10像素,
this.fontWeight,
this.fontStyle,
this.letterSpacing//字间距,
this.wordSpacing//字符间距,
this.textBaseline,
this.height,
this.decoration,
this.decorationColor,
this.decorationStyle,
this.debugLabel,
String fontFamily//字体,
String package,
  })

参考链接

Text&Image

分类
Flutter

flutter之drawer

打开

Scaffold.of(context).openDrawer();
Scaffold.of(context).openEndDrawer();

参考链接

Flutter之drawer详细分析(你要的操作都有)

分类
其他

二叉树

树有多个节点(node),用以储存元素。某些节点之间存在一定的关系,用连线表示,连线称为边(edge)。边的上端节点称为父节点,下端称为子节点。树像是一个不断分叉的树根。

每个节点可以有多个子节点(children),而该节点是相应子节点的父节点(parent)。比如说,3,5是6的子节点,6是3,5的父节点;1,8,7是3的子节点, 3是1,8,7的父节点。树有一个没有父节点的节点,称为根节点(root),如图中的6。没有子节点的节点称为叶节点(leaf),比如图中的1,8,9,5节点。从图中还可以看到,上面的树总共有4个层次,6位于第一层,9位于第四层。树中节点的最大层次被称为深度。也就是说,该树的深度(depth)为4。

参考链接

纸上谈兵: 树, 二叉树, 二叉搜索树

分类
Flutter

flutter之Decoration

构造方法

 const BoxDecoration({
    this.color, // 底色
    this.image, // 图片
    this.border, 边色
    this.borderRadius, // 圆角度
    this.boxShadow, // 阴影
    this.gradient, // 渐变
    this.backgroundBlendMode, // 混合Mode
    this.shape = BoxShape.rectangle,  // 形状
  })

参考链接

Flutter Decoration背景设定(边框、圆角、阴影、形状、渐变、背景图像等)

分类
Flutter

flutter之MaterialApp

字段类型
navigatorKey(导航键)GlobalKey<NavigatorState>
home(主页)Widget
routes(路由)Map<String, WidgetBuilder>
initialRoute(初始路由)String
onGenerateRoute(生成路由)RouteFactory
onUnknownRoute(未知路由)RouteFactory
navigatorObservers(导航观察器)List<NavigatorObserver>
builder(建造者)TransitionBuilder
title(标题)String
onGenerateTitle(生成标题)GenerateAppTitle
color(颜色)Color
theme(主题)ThemeData
locale(地点)Locale
localizationsDelegates(本地化委托)Iterable<LocalizationsDelegate<dynamic>>
localeResolutionCallback(区域分辨回调)LocaleResolutionCallback
supportedLocales(支持区域)Iterable<Locale>
debugShowMaterialGrid(调试显示材质网格)bool
showPerformanceOverlay(显示性能叠加)bool
checkerboardRasterCacheImages(棋盘格光栅缓存图像)bool
checkerboardOffscreenLayers(棋盘格层)bool
showSemanticsDebugger(显示语义调试器)bool
debugShowCheckedModeBanner(调试显示检查模式横幅)bool

参考链接

https://www.jianshu.com/p/1d44ae246652

分类
Flutter

fluter之Scaffold

构造方法

const Scaffold({
    Key key,
    this.appBar,//标题栏
    this.body,//内容
    this.floatingActionButton,//悬浮按钮
    this.persistentFooterButtons,底部持久化现实按钮
    this.drawer,//侧滑菜单左
    this.endDrawer,//侧滑菜单右
    this.bottomNavigationBar,//底部导航
    this.backgroundColor,//背景颜色
    this.resizeToAvoidBottomPadding: true,//自动适应底部padding
    this.primary: true,试用使用primary主色
  })

AppBar

AppBar({
    Key key,
    this.leading,主导Widget
    this.automaticallyImplyLeading: true,
    this.title,
    this.actions,其他附加最贱右上角
    this.flexibleSpace,//伸缩空间,显示在title上面
    this.bottom,//显示在title下面
    this.elevation: 4.0,//阴影高度
    this.backgroundColor,
    this.brightness,明暗模式
    this.iconTheme,
    this.textTheme,
    this.primary: true,是否是用primary
    this.centerTitle,//标题是否居中
    this.titleSpacing: NavigationToolbar.kMiddleSpacing,//title与leading的间隔
    this.toolbarOpacity: 1.0,//title级文字透明度
    this.bottomOpacity: 1.0,//底部文字透明度
  })

FloatingActionButton

const FloatingActionButton({
    Key key,
    this.child,
    this.tooltip,//提示,长按按钮提示文字
    this.backgroundColor,//背景颜色
    this.heroTag: const _DefaultHeroTag(),//页面切换动画Tag
    this.elevation: 6.0,//阴影
    this.highlightElevation: 12.0,//高亮阴影
    @required this.onPressed,//点击事件
    this.mini: false//是否使用小图标
  })
  1. Appber类似于Ios和Android中的toolbar
  2. FloatingActionButton悬浮按钮,很方便很简单
  3. Drawer类似于Ios和Android设备中的汉堡菜单
  4. BottomNavigationBar底部导航栏在移动端很常见

参考链接

http://flutter.link/2018/03/20/Scaffold/