Skip to content

Instantly share code, notes, and snippets.

@410063005
410063005 / parse_maps.py
Created July 17, 2020 08:46
解析 /proc/pid/maps 文件的脚本
data_list = []
while (True):
raw_data = input('paste maps string here: ' if len(data_list) == 0 else '')
if (raw_data.strip() == ''):
break
data_list.append(raw_data)
#print('====')
#print(data_list)
#print('====')
@410063005
410063005 / overlay_basic.dart
Created July 15, 2020 10:17
演示 overlay 的用法
import 'package:flutter/material.dart';
class OverlayBasic extends StatefulWidget {
@override
_OverlayBasicState createState() => _OverlayBasicState();
}
class _OverlayBasicState extends State<OverlayBasic> {
OverlayEntry _entry;
@410063005
410063005 / flutter_future_wait_demo.dart
Created May 22, 2020 12:22
一个用于展示 Flutter Future.wait() 用法的代码
main(List<String> args) async {
print('hello2');
var t1 = DateTime.now().millisecondsSinceEpoch;
// replace callFuns() with callFuns2()
await callFuns();
var t2 = DateTime.now().millisecondsSinceEpoch;
print('cost ${t2 - t1}');
}
// cost 5015
@410063005
410063005 / aar_uploader.gradle
Last active May 8, 2020 10:00
一个用于修改 flutter aar 产物版本号的脚本。用法:gradle -b aar_uploader.gradle uploadAar
def flutterArchVersion = '<修改成你的 version>'
def flutterGroupName = '<修改成你的 group>'
def localProperties = new Properties()
def flutterSdk = ''
def localPropertiesFile = rootProject.file('.android/local.properties')
if (localPropertiesFile.exists()) {
localPropertiesFile.withReader('UTF-8') { reader ->
localProperties.load(reader)
}
@410063005
410063005 / fixed_toast.dart
Created April 10, 2020 01:50
A fixed version of FlutterToast. It adds customization options to the original FlutterToast
import 'package:flutter/material.dart';
import 'package:toast/toast.dart';
class FixedToastView {
static final FixedToastView _singleton = new FixedToastView._internal();
factory FixedToastView() {
return _singleton;
}
@410063005
410063005 / FixedBallSpinFadeLoaderIndicator.dart
Created March 30, 2020 08:38
A fixed version of loading library's BallSpinFadeLoaderIndicator。针对 BallSpinFadeLoaderIndicator 的修复
import 'dart:math';
import 'package:flutter/material.dart';
import 'package:loading/indicator.dart';
class FixedBallSpinFadeLoaderIndicator extends Indicator {
var scaleDoubles = [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0];
var alphas = [255, 255, 255, 255, 255, 255, 255, 255];
@override
@410063005
410063005 / FpsWidget.dart
Created January 13, 2020 03:22
一个统计 Flutter Fps 的 Widget
import 'dart:async';
import 'dart:collection';
import 'dart:ui';
import 'package:flutter/material.dart';
/// https://gist.github.com/yrom/ac4f30b26ee02ce3bd3a1d260bb9ffb4
const maxframes = 60;
@410063005
410063005 / CustomRenderObjectWidget.dart
Created December 27, 2019 12:09
RenderObject 示例
class CircleTextWidget extends SingleChildRenderObjectWidget {
CircleTextWidget({
Key key,
Widget child,
}) : super(key: key, child: child);
@override
RenderCircleText createRenderObject(BuildContext context) =>
RenderCircleText();
}
@410063005
410063005 / rot13.js
Created November 22, 2019 07:08
凯撒密码
// https://www.freecodecamp.cn/challenges/caesars-cipher
function rot13(str) { // LBH QVQ VG!
// 请把你的代码写在这里
var a = 'A'.charCodeAt();
var z = a + 25;
var r = [];
for (var i = 0; i < str.length; i++) {
var code = str[i].charCodeAt();
if (code >= a && code <= z) {
@410063005
410063005 / destroyer.js
Created November 22, 2019 06:55
摧毁数组 金克斯的迫击炮!
// https://www.freecodecamp.cn/challenges/seek-and-destroy
function destroyer(arr) {
// 请把你的代码写在这里
var argLen = arguments.length;
if (argLen > 1) {
var args = Array.from(arguments);
var c = args.slice(1);
return arr.filter(function(v) {