Coder Social home page Coder Social logo

phoenixsky / fun_android_flutter Goto Github PK

View Code? Open in Web Editor NEW
2.7K 73.0 499.0 9.94 MB

👿👿👿👿👿玩Android客户端Flutter版本。Provider的最佳实践.DarkMode、多色彩主题、国际化、切换字体、优美动画

Java 0.04% Ruby 0.38% Objective-C 0.22% Dart 99.37%
wanandroid flutter provider

fun_android_flutter's People

Contributors

phoenixsky avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fun_android_flutter's Issues

版本更新

希望大佬:1、在设置里面加个当前版本号的展示,不然现在都不知道自己使用的当前是什么版本;2、加个APP内部版本更新功能,这样大佬增加了新功能发布了新版本,我们也好及时更新、跟进学习!

收藏的一个bug

我在首页点击收藏A文章,然后去我的->收藏下面取消收藏,但是首页A文章的收藏状态没有发生改变,还是显示收藏状态,这个bug困扰了我很久,找不出解决方法,除非取消with AutomaticKeepAliveClientMixin这句代码,但是如果不保留状态,用户体验会非常糟糕,希望大神可以解决一下这个bug

home_page.dart

home_page.dart里面SliverToBoxAdapter是一个空的,在这里有什么作用,我偿试删除了,好像也没发现问题

tab点击切换时会并行提交多个请求

首先感谢大大的贡献给我提供很大的帮助!

页面的TabBar,当点击间隔的tab时,会出现将间隔的tab也一起请求。
比如间隔两个tab,那么就会携带两个tab的request请求

建议去除flutter_webview_plugin

1.flutter_webview_plugin社区插件不是widget,造成无法在其组件上定制某些按钮
2.resize时有250毫秒的延迟(�作者解释说为了避免同时有多个resize的请求)

splash页面,倒计时动画

_animation.addStatusListener((status) {
  if (status == AnimationStatus.completed) {
    _logoController.reverse();
  } else if (status == AnimationStatus.dismissed) {
    _logoController.forward();
  }
});
_logoController.forward();

为什么需要再做判断?
_countdownController =
AnimationController(vsync: this, duration: Duration(seconds: 4));
_countdownController.forward();
这里不是已经开始了吗?
求告知,谢谢

Question when creating provider

你好 感谢你提供这么优秀的库,但是我在学习过程中有些疑惑,希望不吝赐教。

我暂且想的是在入口时,是创建 provider,对应的代码如下

/// 独立的model
List<SingleChildCloneableWidget> independentServices = [
ChangeNotifierProvider<ThemeModel>.value(value: ThemeModel()),
ChangeNotifierProvider<LocaleModel>.value(value: LocaleModel()),
ChangeNotifierProvider<GlobalFavouriteStateModel>.value(
value: GlobalFavouriteStateModel())
];

但是我在 flutter文档中 发现了下面的注释

/// - DO create a new [ChangeNotifier] inside `builder`.
/// ChangeNotifierProvider(
///   builder: (_) => new MyChangeNotifier(),
///   child: ...
/// )
/// - DON'T use [ChangeNotifierProvider.value] to create your [ChangeNotifier].
/// ChangeNotifierProvider.value(
///   value: new MyChangeNotifier(),
///   child: ...
/// )

为了实验,我把我的部分代码改成了

List<SingleChildCloneableWidget> independentServices = [
  ChangeNotifierProvider(builder: (_) => ThemeModel()),
  ChangeNotifierProvider(builder: (_) => LocaleModel()),
  ···
];

发现也好用,然后我就懵了😆
我的问题是,怎么用才是更合理的,谢谢

MemoryLeakMonitor.jar is not exist

华为手机 android 8.1 总是报这个错,
MemoryLeakMonitor.jar is not exist!
Could not get cmap table size!
[ERROR:flutter/shell/gpu/gpu_surface_gl.cc(58)] Failed to setup Skia Gr context. // 出结果

添加 --enable-software-rendering参数运行

flutter run --enable-software-rendering

能够跑起来,但是杀死应用再启动会崩溃,或者点击 ListView的item 也会崩溃,报错信息依然如故。请问有没有好的办法解决。

response data 没有反序列化,我再加个才行,为什么。。。

` @OverRide
onResponse(Response response) {
debugPrint('---api-response--->resp----->${response.data}');
//response 换了API,报文格式不一样,发现response没有反序列化,是什么原因,他在哪里处理的反序列化
Map<String, dynamic> user = json.decode(response.data);

debugPrint(user['msg'].toString());


ResponseData respData = ResponseData.fromJson(response.data);
if (respData.success) {
  response.data = respData.data;
  return http.resolve(response);
} else {
  if (respData.code == -1001) {
    // 如果cookie过期,需要清除本地存储的登录信息
    // StorageManager.localStorage.deleteItem(UserModel.keyUser);
    throw const UnAuthorizedException(); // 需要登录
  } else {
    throw NotSuccessException.fromRespData(respData);
  }
}

}
}`

运行到手机上的时候出错

  • Error running Gradle:
    ProcessException: Process "D:\work_spaces_flutter\fun_android_flutter\android\gradlew.bat" exited abnormally:
    Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
    Command: D:\work_spaces_flutter\fun_android_flutter\android\gradlew.bat app:properties

Finished with error: Please review your Gradle project setup in the android/ folder.

不能打开Android工程

openandroid module in android studio
这个选项是灰色的!
open ios module in xcode
这个选项是可以用的!

webview里面的内容很糊

测试手机小米6。

1.在设置里面不开启WebViewPlugin,则打开详情页看起来字体很糊,内容显示完整
微信图片_20190830102429

2.如果在设置中开启WebViewPlugin,则详情页右侧的内容显示不完整,字体不糊。
微信图片_20190830102437

kMinInteractiveDimension 找不到

Compiler message:
lib/flutter/dropdown.dart:12:33: Error: Getter not found: 'kMinInteractiveDimension'.
const double _kMenuItemHeight = kMinInteractiveDimension;

有点卡顿

下完项目跑起来之后,体系页面上下滑动有点卡顿,公众号页面,进入具体内容页面,也有比较明显的改动,手机是小米8se。有别的同学有类似情况吗,了解主要是什么原因吗?

默认底部tabs切换了,pageview没有切换

_selectedIndex =4;
currentIndex ==_selectedIndex;
当_selectedIndex=4;
BottomNavigationBarItem 切换了但是默认加载的页面还是首页,需要点击一次才能加载我的页面

关于重写animatedlist.dart导致的编译问题如何解决?

Compiler message:
lib/ui/page/favourite_list_page.dart:11:1: Error: 'SliverAnimatedListState' is imported from both 'package:flutter/src/widgets/animated_list.dart' and 'package:fun_android/flutter/refresh_animatedlist.dart'.
import 'package:fun_android/flutter/refresh_animatedlist.dart';

编译调试 Gradle报错 ProcessException: Process "xxx/fun_android_flutter/android/gradlew" exited abnormally

image

请问遇到过类似的情况吗?

  • Error running Gradle:
    ProcessException: Process "/Users/***/Documents/ProjectCode/fun_android_flutter/android/gradlew" exited abnormally:

    Command: /Users/***/Documents/ProjectCode/fun_android_flutter/android/gradlew app:properties

Please review your Gradle project setup in the android/ folder.

gradle-wrapper.properties文件内容如下:
#Fri Jun 23 08:50:38 CEST 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https://services.gradle.org/distributions/gradle-5.4.1-all.zip

gradle-5.4.1-all.zip这个版本跟我其它项目的版本不一样,我应该怎么更新这个才行呢?

在AS中debug跑报编译错误

环境:gradle6.0.1,flutter1.12最新稳定版
报错信息:
Compiler message:
/F:/flutter1.12/.pub-cache/hosted/pub.flutter-io.cn/cached_network_image-1.1.1/lib/src/cached_network_image_provider.dart:42:24: Error: The method 'CachedNetworkImageProvider.load' has fewer positional arguments than those of overridden method 'ImageProvider.load'.
ImageStreamCompleter load(CachedNetworkImageProvider key) {
^
/F:/flutter1.12/packages/flutter/lib/src/painting/image_provider.dart:403:24: Context: This is the overridden method ('load').
ImageStreamCompleter load(T key, DecoderCallback decode);
^
Target kernel_snapshot failed: Exception: Errors during snapshot creation: null
build failed.

FAILURE: Build failed with an exception.

  • Where:
    Script 'F:\flutter1.12\packages\flutter_tools\gradle\flutter.gradle' line: 780
    报错

更新了最新版本,ActorShape makeShapeNode方法提示冲突;

Compiler message:
../../flutter/.pub-cache/hosted/pub.flutter-io.cn/flare_flutter-1.5.5/lib/flare.dart:585:14: Error: The method 'FlutterActor.makeShapeNode' has fewer positional arguments than those of overridden method 'Actor.makeShapeNode'.
ActorShape makeShapeNode() {
^
../../flutter/.pub-cache/hosted/pub.flutter-io.cn/flare_dart-1.4.7/lib/actor.dart:68:14: Context: This is the overridden method ('makeShapeNode').
ActorShape makeShapeNode(ActorShape source) {
^
Compiler failed

以上是编译日志,我再运行flutter run编译时,遇到了这个问题,但是我这边不知道如何解决,恳请大大帮忙看一下。

登录注册用页面bug: Failed assertion: line 5438 pos 12: 'child == _child': is not true.

复现步骤:

  1. 进入注册页面,点击logo,切换主题;
  2. 在用户名输入框随便输入几个字符;
  3. 点击密码输入框
  4. 点击用户名输入框的清除键;
  5. 点击logo,切换主题

就会弹出错误:

════════ Exception caught by widgets library ═══════════════════════════════════════════════════════
The following assertion was thrown building InputDecorator(decoration: InputDecoration(hintText: "密码", hintMaxLines: "1", prefixIcon: Icon(IconData(U+0E899), size: 22.0, color: Color(0xffc82d57)), suffixIcon: LoginTextFieldSuffixIcon, errorBorder: UnderlineInputBorder(), focusedBorder: UnderlineInputBorder(), focusedErrorBorder: UnderlineInputBorder(), disabledBorder: UnderlineInputBorder(), enabledBorder: UnderlineInputBorder(), border: UnderlineInputBorder(), alignLabelWithHint: false), isFocused: false, isEmpty: true, dependencies: [MediaQuery, _InheritedTheme, _LocalizationsScope-[GlobalKey#484f1], Directionality], state: _InputDecoratorState#0db72(tickers: tracking 2 tickers)):
'package:flutter/src/services/text_input.dart': Failed assertion: line 745 pos 12: 'attached': is not true.

When the exception was thrown, this was the stack: 
#2      TextInputConnection.setStyle (package:flutter/src/services/text_input.dart:745:12)
#3      EditableTextState.didUpdateWidget (package:flutter/src/widgets/editable_text.dart:1162:29)
#4      StatefulElement.update (package:flutter/src/widgets/framework.dart:4396:58)
#5      Element.updateChild (package:flutter/src/widgets/framework.dart:2977:15)
#6      SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:5452:14)
...
════════════════════════════════════════════════════════════════════════════════════════════════════

════════ (2) Exception caught by widgets library ═══════════════════════════════════════════════════
'package:flutter/src/services/text_input.dart': Failed assertion: line 745 pos 12: 'attached': is not true.
The relevant error-causing widget was: 
  TextFormField file:///F:/guotie/ipfs-pool/fun_android_flutter/lib/ui/page/user/login_field_widget.dart:61:45
════════════════════════════════════════════════════════════════════════════════════════════════════

════════ (3) Exception caught by widgets library ═══════════════════════════════════════════════════
Duplicate GlobalKey detected in widget tree.
════════════════════════════════════════════════════════════════════════════════════════════════════

还有部分操作会提示 not attached,没有仔细研究如何复现。

ios 启动页短暂黑屏

Flutter app 在ios平台设置启动图以后启动app 在启动页和splash页之间为什么会有短暂的黑屏

flutter初始化数据问题

看了代码有个初始化的问题想咨询一下,
flutter的build是同步方法,所以在widget树构建过程中不允许出现异步返回值的操作,同时也不能更新provider,由于我运行示例程序一直报错,所以我就自己按照示例简化写了一个provider的实现,发现其实是在initState方法里调用了同步的initData方法,并且在initData方法里又去异步调用了获取数据的方法,这样如果接口比较慢这个initState方法一直执行不完,界面渲染也就会有延迟,我模拟了一个休眠5秒,导致界面5秒后才会显示出来,不知道是我写错了,还是示例程序也是这么考虑的,另外有没有flutter在界面初始化的时候初始化数据的方法呢?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.