wendux / flutter-comment

Flutter中文网评论
10 stars 0 forks source link

编写您的第一个 Flutter App - Flutter中文网 #5

Open wendux opened 6 years ago

wendux commented 6 years ago

https://www.flutterchina.club/get-started/codelab/

CK875430315 commented 6 years ago

使用白色主题,状态栏变成了深色字体这个是自动改变的吗?

wendux commented 6 years ago

@CK875430315 是的。

ghost commented 6 years ago

@baiyinshi class MyApp extends StatelessWidget { 是这个 Myapp

inlove2010 commented 6 years ago

第5步: 添加交互 在我手机上tap,整个row消失了,而不是点亮红心,为什么?

inlove2010 commented 6 years ago

我自己搞错了,_saved是个set<>,我把它定义成了[]

xster commented 6 years ago

@CK875430315 可参考 https://github.com/flutter/flutter/blob/e77cfcf2ae95111cd1c8761e69ac6e19b10ba0b9/packages/flutter/lib/src/material/app_bar.dart#L349

paizxin commented 6 years ago

在Android Studio中拉取不到english_words: ^3.1.0这个库

uni-cstar commented 6 years ago

为什么我编译运行的效果,favor图标的颜色是填充的灰色而不是示例图中的红色呢?

Maoxiai commented 6 years ago

OK 完成(~ ̄▽ ̄)~

baiyinshi commented 6 years ago

@paizxin 你贴出你的pubspce.yaml 看看你的引用格式

rocwong-cn commented 6 years ago

:bread: Done !!!

billdai998 commented 6 years ago

问一下,关于右上面有一个debug的字样,这个怎么去掉?

aizhuzi commented 6 years ago

添加English_words 包提示: --no-color package get

aizhuzi commented 6 years ago

求帮忙,遇到没法导入包的问题,卡住了,@paizxin ,解决没?我直接复制pubspce.yaml文件内容也没法导包成功。

itchaosfun commented 6 years ago

在上述示例中,仿照这卸了一下,在页面来回多次快速切换的时候,会发生卡死并闪退的情况,这个问题是如何产生的呢?该怎么样修复?不知道大家是否遇到过~

junlandroid commented 6 years ago

第一天学习 ,留个名

hellosweetmain1 commented 6 years ago

更换主题后,下拉那个波纹还是 淡蓝色的,没有跟随主题变化,还有就是返回主页面的时候感觉挺卡的,我的手机是 xiaomi 6 ,不知道这是不是正常的

BuLingzhuang commented 6 years ago

学习了,和楼上一样,滑动列表明显感觉不很流畅,三星s8

ei8Z commented 6 years ago

同楼上,列表页滑动明显不流畅,华为p10

wendux commented 6 years ago

@ei8Z release 版本会流畅很多, 可以试试

SoulJaZhao commented 6 years ago

非常棒的教程,一步一步完成了demo

Lukeeeeeeeeee commented 6 years ago

第4步: 创建一个无限滚动ListView中的 2. 中的注释:在奇数行,该行书湖添加一个分割线widget,来分隔相邻的词对。 中的书湖是不是写错了?

WeihuaGu commented 6 years ago

上面说怎么去掉右上角的debug的,我用grep -R "debug" ./android命令发现了这一行: ./android/local.properties:flutter.buildMode=debug 我猜肯定是改成release就好了

billdai998 commented 6 years ago
font{
    line-height: 1.6;
}
ul,ol{
    padding-left: 20px;
    list-style-position: inside;
}

build --release 就可以了

    a#ntes-pcmail-signature-default:hover {
        text-decoration: underline;
        color: #3593db;
        cursor: pointer;
    }

    font{
        line-height: 1.6;
    }

    font{
        line-height: 1.6;
    }

戴瑜billdai@foxmail.com

在2018年06月22日 17:42,顾玮华<notifications@github.com> 写道: 

上面说怎么去掉右上角的debug的,我用grep -R "debug" ./android命令发现了这一行: ./android/local.properties:flutter.buildMode=debug 我猜肯定是改成release就好了

—You are receiving this because you commented.Reply to this email directly, view it on GitHub, or mute the thread.

newUserdd commented 6 years ago

第一天学习,跟着撸了一遍下來,虽然还不了解dart语法,但感觉还不错的样子,现在蒙圈中....

reply-1988 commented 6 years ago

在第三步中 Stateful widgets maintain state that might change during the lifetime of the widget. Implementing a stateful widget requires at least two classes: 1) a StatefulWidget class that creates an instance of 2) a State class. The StatefulWidget class is, itself, immutable, but the State class persists over the lifetime of the widget. 其中 but the State class persists over the lifetime of the widget感觉翻译成是在其生命周期中是可变的比较好

KomoriWu commented 6 years ago

ok,敲完了。收获满满

Sunyc666 commented 6 years ago

已经成功的做出来了,倍感欣慰

WeihuaGu commented 6 years ago

请教一个问题,一个statefulwidget 创建了一个 与之绑定的State,其实就是拱手把构建的权力交给了State,并且二者的生命周期明显statefulwidget小于State,那外部怎么获得State保存的这些状态呢?应该不能从statefulwidget来获得吧,但是与其它widget结合时用的都是statefulwidget。

比如例子中,它把包含跳转页面的appbar都定义在了state中,所以可以直接调用_pushSaved()方法,而一但把它定义在外部,那么怎么访问被state保护的_saved变量?

WeihuaGu commented 6 years ago

@WeihuaGu 自问自答,关于这个,写了一篇短文。 我的理解,不一定对,也还是会总错的。

wendux commented 6 years ago

@WeihuaGu 如果想在外部引用state内的变量, 可以给widget设置一个GlobalKey, 然后通过这个key可以获取state 对象, 这样就可以访问状态了。

WeihuaGu commented 6 years ago

@wendux 感谢解答,感觉这个就像原生开发中通过R获得控件唯一的id有点像。

asdasadasf commented 6 years ago

debug版本的滑动不太流畅,还有就是跳转到save界面后,返回到第一个页面,感觉会卡顿了一下. Pixel Android 9.

OC0311 commented 6 years ago

哈哈 照着写出来了,虽然只知道大概的意思

zzzsssbo commented 6 years ago

@Alphrye 是的 我的也会卡顿 而且主题颜色改变后 波纹颜色没有跟着改变

heygays commented 6 years ago

这语法太锤子了

akkuan commented 6 years ago

列表滑动起来好卡啊、、、小米max2

wendux commented 6 years ago

@DearAKuan release版本就好了

:octocat: From gitme Android

LT13S commented 6 years ago

快速滑动,明显感到卡顿,Android手机略好,iPhone手机体验不如Android

hatjs880328s commented 6 years ago

Xcode怎么用啊?

hatjs880328s commented 6 years ago

如何使用XCODE开发 这个东西呢、

WeihuaGu commented 6 years ago

再请教一个问题,我写了个从url获取一个json的返回。用了dio.get这个函数,然后调用这个函数需要await,然后因为用了await,函数外面又要加async。而要调用这个函数,因为加了async,又要加await,因为加了await又要定义时外面加async,然后就无穷无尽了……,天那 如果我想测试这个getLiveLIst函数:

class XXX{

final url="http://XXX";

getLiveList() async{
        Dio dio = new Dio();
        Response<String> response=await dio.get(url);
        return response.data;

}

然后我在test文件夹下写了测试:

import 'package:test/test.dart';
import 'package:XXX/XXX.dart';
void main() {
  test('test get json', () {
   print( new XXX().getJson());
  });
}

当然,因为getJson加了async,print的结果是Instance of 'Future' 但是我想print json啊,怎么办,难道是:

import 'package:test/test.dart';
import 'package:XXX/XXX.dart';
void main() {
  test('test get json', () {
   print( await new XXX().getJson());
  });
}

当然了,它会报错,那我只能再加async

import 'package:test/test.dart';
import 'package:XXX/XXX.dart';
void main() {
  test('test get json', () async {
   print( await new XXX().getJson());
  });
}

当然了它会报错,因为有了async,所以要给test前面加 await,当然了它会报错,因为有了await,我需要给main函数加async.

import 'package:test/test.dart';
import 'package:XXX/XXX.dart';
void main() async{
  await test('test get json', () async {
   print( await new XXX().getJson());
  });
}

当然了,它会报错,然后我疯了

wendux commented 6 years ago

@WeihuaGu 哈哈,不用那么麻烦,不就想打印一行日志么:

new XXXI(). GetJson() .then((r)=>print(r))

:octocat: From gitme Android

WeihuaGu commented 6 years ago

@wendux 当我使用这样的形式时,then好像没有被执行

test('live list unit test', ()async{
        print("get json list unit start test");
        new XXX().getJson().then((jsonlist){
                print("the json is ");
                print(jsonlist);
        });

  });

因为只打出了"get json list unit start test","the json is" 和jsonlist并没有任何的输出 当我改成这样

test('live list unit test', ()async{
        print("get json list unit start test");
        var jsonlist=await new XXX().getJson();
        print(jsonlist);
  });

正确返回了json

live list unit start test
{"ret":200,"data":{"code":0,"msg":"","info":[{XXX},{XXX},{XXX}]}}
wendux commented 6 years ago

@WeihuaGu 话说我貌似没有看到你的getJson方法

:octocat: From gitme Android

WeihuaGu commented 6 years ago

@wendux

getJson() async{
        var httpClient = new HttpClient();
    var uri = new Uri.http(urlhost,urlpath);
    try {
    var request = await httpClient.getUrl(uri);
    var response = await request.close();
    var responseBody = await response.transform(UTF8.decoder).join();
    return responseBody;
    }catch (exception) {
            print('Failed');
         }

}
wendux commented 6 years ago

@WeihuaGu 你可以参考一下dio vm分支的test.dart 里面都是异步请求,有打日志的代码

:octocat: From gitme Android

WeihuaGu commented 6 years ago

@wendux 好的,我去看看。我只是觉得奇怪,因为刚学这个,进行异步操作是感觉时灵时不灵的。

感谢你耐心的回复:)。

WeihuaGu commented 6 years ago

一个text的widget怎么能允许用户进行文字选择,如果是安卓,只需要一个属性就行了,但是flutter找了一圈也没找到,只找到了一个叫做“RenderEditable"的类,但看文档没看明白怎么用。 允许用户选择文字是很基础的功能,比如这个示例中用户可能会想选择复制被标记的喜欢的名字,当然这可以通过给text的longPress添加复制来实现,但是用户想选择一部分,该怎么办呢? flutter有没有提供方便的允许文字被选择的功能?

wendux commented 6 years ago

@WeihuaGu 这个问题我之前在flutter项目下提过issue提过, 但到目前为止还没有什么明确的解决方案

:octocat: From gitme Android