public class GmStoragePermissionFragment extends Fragment { private static GmOnPermissionResult gmOnPermissionResult; public static void requestPermission(Activity activity, GmOnPermissionResult permissionResult) { gmOnPermissionResult = permissionRe…
public class 分派 { public static void main(String[] args) { Human man = new Man(); // 重写是 虚函数的源由(invokevirtual 所以对字段无效),看实际类型 即‘后者’ man.printCode(); // man.code是不是方法,所以输出是 Human.code即3 System.out.println("code " + man.code); // Human women = new Women…
1. 定义NotificationListener Widget wrapWithNotify(Widget child){ return NotificationListener<ScrollNotification>( child: child, onNotification: handleNotification, ); } 2. 具体处理 bool handleNotification(ScrollNotification notification){ final Scrol…
import 'package:flutter/material.dart'; class CalendarWidget extends StatefulWidget { // 选择器范围 DateTime startTime; DateTime endTime; // 日期文本字体大小 TextStyle? style; // 头部 周文本样式 TextStyle? headerStyle; // 日期容器大小 double? size; // 选择器高度 double? height; //…
1. 调用处 import 'dart:async'; import 'package:flutter/material.dart'; import 'package:plano_flutter/helpers/router/flutter_binding.dart'; import 'package:plano_flutter/models/event_bus.dart'; import 'package:plano_flutter/modules/home/models/week_slide…
1. FlutterBoost源码 FlutterBoostApp->pop方法 Future<bool> pop( {String? uniqueId, Object? result, bool onBackPressed = false}) async { BoostContainer? container; if (uniqueId != null) { container = _findContainerByUniqueId(uniqueId); if (container …
1. physics方式 ClampingScrollPhysics() 强制将滚动距离限制最大可滑动 2. 自定义ScrollBehavior class NoScrollBehaviorWidget extends ScrollBehavior { @override Widget buildViewportChrome(BuildContext context, Widget child, AxisDirection axisDirection) { switch (getPlatform…
1. FractionallySizedBox 通过更改width/heightFactor来实现类似滚动进度条 Row( children: [ Flexible( child: FractionallySizedBox( widthFactor: 1.0, child: Container( width: 20, height: 20, color: Colors.red, ), ), ), Container( width: 20, height: 20, color: Colors.bl…
1. Scroller public void fling(int startX, int startY, int velocityX, int velocityY, int minX, int maxX, int minY, int maxY) {} public void startScrollBy(int dx,int dy) { mScroller.forceFinished(true); int startX = getScrollX(); int startY = getScroll…
// val h = (img.width * 1.0f / img.drawable.intrinsicWidth * img.drawable.intrinsicHeight).toInt() // val animator = ValueAnimator.ofInt(img.height,h) public class LiveImageView extends AppCompatImageView { private int mDx; private int mMinDx; public…