private Widget _BuildBaseElemtns() { return(new Container( decoration: new BoxDecoration(color: new Color(0xffededed)), child: new ListView( children: new List <Widget> { new Container( padding: EdgeInsets.only(left: 20, top: 80, bottom: 10), decoration: new BoxDecoration(color: Color.white, shape: BoxShape.rectangle, borderRadius: BorderRadius.all(5)), child: new ListTile( leading: new AvatarWidget(HelperWidgets._createImageProvider(AvatarImageType.NetWork, AppManager.Instance.GetUserData.AvatarUrl)), title: _buildNickName(), subtitle: _buildMotto(), trailing: _buildTrailing()) ), new Container(padding: EdgeInsets.only(top: 20)), new Container( decoration: new BoxDecoration(color: Color.white), child: new Column( mainAxisSize: MainAxisSize.min, children: new List <Widget> { new TapItemWidget(title: "Leader board", iconData: IconsExtern.leaderboaard, GoToLeaderBord), new TapItemWidget(title: "Setting", iconData: IconsExtern.setting, GoToSettingPanel, isLast: true), } ) ), } ) )); }
private Widget _buildBaseViewBody() { return(new Padding(padding: EdgeInsets.only(top: 50), child: new Column( children: new List <Widget> { new ListTileWithDividerWidget(titleWidget: new Text("Avatar"), trailingWidget: new AvatarWidget( HelperWidgets._createImageProvider(AvatarImageType.NetWork, Datas.AppManager.Instance.GetUserData.AvatarUrl)), onTap: GoToAvatarEdit), new ListTileWithDividerWidget(titleWidget: new Text("NickName"), trailingWidget: _buildNickNameTrailing(), onTap: () => GoToStringEditor(Datas.AppManager.Instance.GetUserData.NickName, "Edit Name", (result => Datas.AppManager.Instance.GetUserData.NickName = result))), new ListTileWithDividerWidget(titleWidget: new Text("Mottor"), trailingWidget: _buildMottorTrailing(), onTap: () => GoToStringEditor(Datas.AppManager.Instance.GetUserData.Mottor, title: "Edit Mottor", (result => Datas.AppManager.Instance.GetUserData.Mottor = result)), dividerHeight: 0), } ) )); }
public override Widget build(BuildContext context) { return(new Column( mainAxisSize: MainAxisSize.min, children: new List <Widget> { new ListTile( leading: new Row( mainAxisSize: MainAxisSize.min, children: new List <Widget> { new Text(RankingId), new Padding(padding: EdgeInsets.only(left: 30)), new AvatarWidget(HelperWidgets._createImageProvider(AvatarImageType.NetWork, AvatarUrl), 40, 40), new Padding(padding: EdgeInsets.only(left: 20)), new Text(NickName), } ), title: new Text(RunDistance + " KM"), trailing: new Icon(icon: Icons.dock)), new Divider(indent: 18, height: 5), } )); }
public override Widget build(BuildContext context) { return(new Column( children: new List <Widget> { new Padding( padding: EdgeInsets.only(left: 20, right: 20), child: new Column( children: new List <Widget> { new ListTile(leading: new AvatarWidget(HelperWidgets._createImageProvider(AvatarImageType.NetWork, AvatarURL), 40, 40), title: new Text(Name)), new Container( alignment: Alignment.centerLeft, margin: EdgeInsets.only(left: 70), padding: EdgeInsets.only(bottom: 10, top: 10), child: new Text(textAlign: TextAlign.left, data: PostedContent) ), Unity.UIWidgets.widgets.Image.network(src: PostedImageUrl, fit: BoxFit.cover, width: 200, height: 200), new Row( mainAxisAlignment: MainAxisAlignment.start, children: new List <Widget> { new Container( margin: EdgeInsets.only(left: 70), padding: EdgeInsets.only(bottom: 10, top: 10), alignment: Alignment.centerLeft, child: new Text(textAlign: TextAlign.left, data: System.DateTime.Now.ToString("u"), style: new TextStyle(fontSize: 10)) ), new Container( width: 15, color: Colors.transparent, margin: EdgeInsets.only(left: 90, bottom: 2.5f), alignment: Alignment.centerRight, child: new IconButton(icon: new Icon(icon: Icons.thumb_up, size: 15f)) ), new Container( margin: EdgeInsets.only(left: 15, bottom: 2.5f), alignment: Alignment.centerRight, child: new Text(LikeCount) ) } ) } ) ), new Divider() } )); }
public override Widget build(BuildContext context) { return(new Container( child: new Column( children: new List <Widget> { new ListTile( leading: new AvatarWidget( HelperWidgets._createImageProvider(imageType: AvatarImageType.NetWork, AvatarURL), 40, 40), title: new Text(Name), onTap: () => { }, contentPadding: EdgeInsets.only(left: 20)), new Divider(height: DividerHeight, indent: DividerIndent) } ) )); }
public override Widget build(BuildContext context) { return(new Container( height: 120, child: new Center( child: new Column( children: new List <Widget> { new AvatarWidget( HelperWidgets._createImageProvider(AvatarImageType.NetWork, AvatarUrl), 80, 80), new Text(NickName), new Text(Mottor), } ) ) )); }
public override Widget build(BuildContext context) { return(new Scaffold( appBar: HelperWidgets._buildCloseAppBar(isCenterTitle: true, title: new Text(""), lealding: new StoreConnector <AppState, object>( converter: (state) => null, builder: ((buildContext, model, dispatcher) => new IconButton( icon: new Icon(icon: Icons.close), onPressed: () => { dispatcher.dispatch(new LoginState() { userOpCode = UserOpCodeEnum.Close, Context = context }); })), pure: true )), body: _buildBody() )); }
public override Widget build(BuildContext context) { return(new Scaffold( appBar: HelperWidgets._buildCloseAppBar(isCenterTitle: true, title: new Text(""), lealding: new StoreConnector <AppState, AppState>( converter: state => state, builder: ((builderContext, model, dispatcher) => new IconButton( icon: new Icon(icon: Icons.close), onPressed: () => { dispatcher.dispatch(new RegisterState() { userOpCode = UserOpCodeEnum.Close, RequestOpCode = model.RequestOpCode, Context = context }); })), pure: true )), backgroundColor: CustomTheme.CustomTheme.EDColor, body: _buildBody(context) )); }
private Widget _buildBody(BuildContext context) { return(new ListView( physics: new AlwaysScrollableScrollPhysics(), children: new List <Widget> { new Container( alignment: Alignment.center, margin: EdgeInsets.only(top: 100, bottom: 10), child: new Text("用手机号注册", style: new TextStyle(fontWeight: FontWeight.bold, fontSize: 20)) ), new StoreConnector <AppState, string>( converter: (state) => state.RegisterAvatar, builder: ((buildContext, model, dispatcher) => new GestureDetector( child: new AvatarWidget( HelperWidgets._createImageProvider(AvatarImageType.Memory, model)), onTap: () => { #if !UNITY_EDITOR && UNITY_IOS NativeGallery.GetImageFromGallery((path) => { if (string.IsNullOrEmpty(path)) { return; } using (WindowProvider.of(context).getScope()) { dispatcher.dispatch(new SetRegisterAvatarState() { RegisterAvatar = path }); } }); #endif } ) ) ), new Padding(padding: EdgeInsets.only(top: 15)), new StoreConnector <AppState, AppState>( converter: (state) => state, builder: ((buildContext, model, dispatcher) => new TextFieldExtern("请设置昵称,如一起跑", margin: EdgeInsets.only(left: 20, right: 20, top: 20), editingController: NameEdit, onChanged: (text) => { dispatcher.dispatch(new SetNickNameState() { InputResult = text }); })) ), new StoreConnector <AppState, AppState>( converter: (state) => state, builder: ((buildContext, model, dispatcher) => new TextFieldExtern("请填写手机号码", margin: EdgeInsets.only(left: 20, right: 20, top: 20), editingController: PhoneEdit, maxLength: 11, regexCondition: @"^[0-9]*$", onChanged: (text) => { dispatcher.dispatch(new PasswordState() { InputResult = text }); } ) ) ), new StoreConnector <AppState, AppState>( converter: (state) => state, builder: ((buildContext, model, dispatcher) => new TextFieldExtern("请填写密码(英文字符、数字)", margin: EdgeInsets.only(left: 20, right: 20, top: 20), obscureText: true, editingController: PasswordEdit, maxLength: 16, regexCondition: @"^[A-Za-z0-9]+$", onChanged: (text) => { dispatcher.dispatch(new PasswordState() { InputResult = text }); } ) ) ), new Stack( children: new List <Widget> { new TextFieldExtern("请填写验证码", margin: EdgeInsets.only(left: 20, right: 20, top: 20), maxLength: 6, editingController: VerfyCodeEdit), new StoreConnector <AppState, AppState>( converter: (state) => state, builder: ((context1, model, dispatcher) => model.RequestOpCode == RequestOpCodeEnum.RequestVerfyCode ? new Container( alignment: Alignment.centerRight, padding: EdgeInsets.only(right: 25, bottom: 5), child: new CountdownWidget( timeSpan: new TimeSpan(0, 0, model.CountdownTime), () => { dispatcher.dispatch(new RegisterState() { Context = context, RequestOpCode = RequestOpCodeEnum.None, userOpCode = UserOpCodeEnum.None }); }, Counter: model.CountdownTime ) ) : new Container( alignment: Alignment.centerRight, padding: EdgeInsets.only(right: 25, bottom: 5), child: new GestureDetector(child: new Icon(icon: Icons.send, size: 20), onTap: () => { dispatcher.dispatch(new CountdownState() { CountdownTime = 60 }); dispatcher.dispatch(new RegisterState() { Context = context, RequestOpCode = RequestOpCodeEnum.RequestVerfyCode, userOpCode = UserOpCodeEnum.None }); } ) ) ) ) } ), new StoreConnector <AppState, AppState>( converter: (state) => state, builder: ((buildContext, model, dispatcher) => new Container( margin: EdgeInsets.all(20f), width: MediaQuery.of(context).size.width, child: new FlatButton(color: Colors.green, child: new Text("注册", style: CustomTheme.CustomTheme.DefaultTextThemen.display2), onPressed: () => { //TODO:Register //防止用户漏空提交 if (string.IsNullOrEmpty(model.Account) || string.IsNullOrEmpty(model.Password) || string.IsNullOrEmpty(model.NickName) || string.IsNullOrEmpty(model.VerfyCode)) { return; } dispatcher.dispatch(new RegisterState() { RequestOpCode = RequestOpCodeEnum.RequestRegister, userOpCode = UserOpCodeEnum.None, Context = context }); } ) ) ) ), } )); }