fmtjava / flutter_eyepetizer Goto Github PK
View Code? Open in Web Editor NEWFlutter + 组件化实现的一款精美的仿开眼视频(Eyepetizer )跨平台App,适合入门,快速掌握Dart语言以及上手flutter开发(提供Kotlin、React Native、小程序版本 😁 ),希望和大家共同成长,喜欢的话,欢迎start或fork!
License: MIT License
Flutter + 组件化实现的一款精美的仿开眼视频(Eyepetizer )跨平台App,适合入门,快速掌握Dart语言以及上手flutter开发(提供Kotlin、React Native、小程序版本 😁 ),希望和大家共同成长,喜欢的话,欢迎start或fork!
License: MIT License
测试设备是 pixel xl
其它模块体验很好,语言识别模块请求的权限有点多,估计是第3方库的原因。
同样是开发人员,我只能说您真是牛逼。
ios可以 安卓一直网络请求不通
[ +2 ms] FAILURE: Build failed with an exception.
[ ] * What went wrong:
[ ] Execution failed for task ':speech_plugin:compileDebugJavaWithJavac'.
[ ] > java.time.DateTimeException: Invalid value for MonthOfYear (valid values 1 - 12): 0
[ ] * Try:
[ ] Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get
more log output. Run with --scan to get full insights.
[ ] * Get more help at https://help.gradle.org
[ ] BUILD FAILED in 1m 10s
[ +452 ms] Running Gradle task 'assembleDebug'... (completed in 71.7s)
[ +3 ms] The built failed likely due to AndroidX incompatibilities in a plugin. The tool is about to try
using
Jetfier to solve the incompatibility.
[ +11 ms] ✏️ Creating android/settings_aar.gradle
...
[ +7 ms] ✏️ Creating android/settings_aar.gradle
... (completed in 0ms)
[ +3 ms] [!] Flutter tried to create the file android/settings_aar.gradle
, but failed.
[ +6 ms] To manually update settings.gradle
, follow these steps:
1. Copy `settings.gradle` as `settings_aar.gradle`
2. Remove the following code from `settings_aar.gradle`:
def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
def properties = new Properties()
assert localPropertiesFile.exists()
localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) }
def flutterSdkPath = properties.getProperty("flutter.sdk")
assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle"
[ +32 ms] Exception: Please create the file and run this command again.
[ +1 ms] "flutter run" took 75,747ms.
[ +21 ms]
#0 throwToolExit (package:flutter_tools/src/base/common.dart:14:3)
#1 RunCommand.runCommand (package:flutter_tools/src/commands/run.dart:591:7)
#2 FlutterCommand.verifyThenRunCommand
(package:flutter_tools/src/runner/flutter_command.dart:860:18)
#3 _rootRunUnary (dart:async/zone.dart:1198:47)
#4 _CustomZone.runUnary (dart:async/zone.dart:1100:19)
#5 _FutureListener.handleValue (dart:async/future_impl.dart:143:18)
#6 Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:696:45)
#7 Future._propagateToListeners (dart:async/future_impl.dart:725:32)
#8 Future._completeWithValue (dart:async/future_impl.dart:529:5)
#9 _AsyncAwaitCompleter.complete (dart:async-patch/async_patch.dart:40:15)
#10 _completeOnAsyncReturn (dart:async-patch/async_patch.dart:311:13)
#11 RunCommand.usageValues (package:flutter_tools/src/commands/run.dart)
#12 _rootRunUnary (dart:async/zone.dart:1198:47)
#13 _CustomZone.runUnary (dart:async/zone.dart:1100:19)
#14 _FutureListener.handleValue (dart:async/future_impl.dart:143:18)
#15 Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:696:45)
#16 Future._propagateToListeners (dart:async/future_impl.dart:725:32)
#17 Future._completeWithValue (dart:async/future_impl.dart:529:5)
#18 _AsyncAwaitCompleter.complete (dart:async-patch/async_patch.dart:40:15)
#19 _completeOnAsyncReturn (dart:async-patch/async_patch.dart:311:13)
#20 AndroidDevice.isLocalEmulator (package:flutter_tools/src/android/android_device.dart)
#21 _rootRunUnary (dart:async/zone.dart:1198:47)
#22 _CustomZone.runUnary (dart:async/zone.dart:1100:19)
#23 _FutureListener.handleValue (dart:async/future_impl.dart:143:18)
#24 Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:696:45)
#25 Future._propagateToListeners (dart:async/future_impl.dart:725:32)
#26 Future._completeWithValue (dart:async/future_impl.dart:529:5)
#27 Future._asyncCompleteWithValue. (dart:async/future_impl.dart:567:7)
#28 _rootRun (dart:async/zone.dart:1190:13)
#29 _CustomZone.run (dart:async/zone.dart:1093:19)
#30 _CustomZone.runGuarded (dart:async/zone.dart:997:7)
#31 _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:1037:23)
#32 _microtaskLoop (dart:async/schedule_microtask.dart:41:21)
#33 _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5)
#34 _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:118:13)
#35 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:169:5)
首先感谢作者的无私奉献。
我clone 下来后直接跑 会出现这种情况
提示的是
import 'package:chewie/src/material_progress_bar.dart';
import 'package:chewie/src/utils.dart';
这两个文件找不到,请问我应该怎么解决?
关于 getx 在整个项目中 有哪些用到? 能否基于getx 构建一个 eyepetizer
发现两个问题
banner每次切换的时候,回调中改变了currentIndex,调用了notifyListeners,会引起首页的重新build一次
onIndexChanged: (index) {
model.changeBannerIndex(index);
},
在首页的build打印了日志,发现底部导航每次切换的时候,首页也会build一次
请问是否可以将应用发布到 F-Droid?Readme 中有一个非商业限制,请问是对代码的限制还是对数据的免责声明?谢谢!
tabview和pageView之间的滑动冲突咋办
_bottomItem(String title, String normalIcon, String selectIcon) {
return BottomNavigationBarItem(
icon: Image.asset(normalIcon, width: 24, height: 24),
activeIcon: Image.asset(selectIcon, width: 24, height: 24),
// title:title);
title: Padding(
padding: EdgeInsets.only(top: 5),
child: Text(title,
style: TextStyle(color: Color(0xff000000), fontSize: 14))),
);
}
发现个问题,banner加载的时候,显示出来的效果是先加载出矩形图片,然后再裁剪出圆角,我的解决方案是去掉BoxDecoration的borderRadius,而是在Stack外边包裹一个ClipRRect来裁剪出圆角
../../flutter/.pub-cache/hosted/pub.dartlang.org/pull_to_refresh-1.6.5/lib/src/internals/indicator_wrap.dart:632:9: Error: A value of type 'ValueNotifier' can't be assigned to a variable of type 'ValueNotifier'.
- 'ValueNotifier' is from 'package:flutter/src/foundation/change_notifier.dart' ('../../flutter/packages/flutter/lib/src/foundation/change_notifier.dart').
? refresher.controller.headerMode
^
Failed to package /Users/liyu/Downloads/Flutter_Eyepetizer-master.
源码地址:flutter_manager
此库的最大优势在于:
使用成本低。由于是命令行工具,项目增删依赖库或更新库版本号时只需执行一次manager mvm
即可
改造成本低。原组件化方案几乎不用动,只需在mvm
配置文件夹里配置项目结构及依赖即可,工具会自动识别并管理
使用者不需要到子module手动增删依赖库或更新版本号,只需在统一的配置文件mvm
内修改即可,工具会自动定位并在正确的module下更新。尤其是切换git和path依赖方式时,省去了重复繁琐的寻找过程
各个module对三方库的依赖是相互独立的,因此统一的底层module是非必须的,真正做到组件化
配置文件version.yaml
对依赖库版本号的管理是整个项目共享的,即各子module使用统一版本的三方库,避免了版本冲突
可以运行example
样例体验,有任何疑问可通过issue
提出,pub地址:flutter_manager 1.0.2
The plugins flutter_splash_screen, flutter_webview_plugin, fluttertoast, screen
use a deprecated version of the Android embedding.
To avoid unexpected runtime failures, or future build failures, try to see if these plugins support the Android V2 embedding. Otherwise, consider removing them since a future release of Flutter will remove these deprecated APIs.
If you are plugin author, take a look at the docs for migrating the plugin to the V2 embedding: https://flutter.dev/go/android-plugin-migration.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.