Widget _buildFavoriteTitle() { return(new Container( height: 58, child: new Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: new List <Widget> { new CustomButton( padding: EdgeInsets.all(16), onPressed: ActionSheetUtils.hiddenModalPopup, child: new Text("取消", style: CTextStyle.PLargeBody5) ), new Text("收藏到", style: CTextStyle.PXLargeMedium), new CustomButton( padding: EdgeInsets.all(16), onPressed: () => { ActionSheetUtils.hiddenModalPopup(); var myFavoriteIds = this.widget.viewModel.myFavoriteIds; if (myFavoriteIds.Count > this._checkIndex) { var tagId = myFavoriteIds[index: this._checkIndex]; this.widget.actionModel.favoriteArticle(arg: tagId); } }, child: new Text("完成", style: CTextStyle.PLargeBlue) ) } ) )); }
static Widget _buildButtons(List <ActionSheetItem> items) { if (items == null || items.Count <= 0) { return(new Container()); } List <Widget> widgets = new List <Widget>(); List <Widget> normalWidgets = new List <Widget>(); List <Widget> destructiveWidgets = new List <Widget>(); List <Widget> cancelWidgets = new List <Widget>(); items.ForEach(item => { ActionType type = item.type; Color titleColor = CColors.TextBody; if (type == ActionType.destructive) { titleColor = CColors.Error; } if (type == ActionType.cancel) { titleColor = CColors.Cancel; } Widget widget = new Column( children: new List <Widget> { new GestureDetector( onTap: () => { ActionSheetUtils.hiddenModalPopup(); if (item.onTap != null) { item.onTap(); } }, child: new Container( alignment: Alignment.center, height: 49.0f, color: CColors.White, child: new Text( item.title, style: CTextStyle.PLargeBody.copyWith(titleColor) ) ) ), new CustomDivider( height: 1, color: CColors.Separator2 ) } ); if (type == ActionType.destructive) { destructiveWidgets.Add(widget); } else if (type == ActionType.cancel) { cancelWidgets.Add(new CustomDivider(height: 4, color: CColors.Separator2)); cancelWidgets.Add(widget); } else { normalWidgets.Add(widget); } }); widgets.AddRange(normalWidgets); widgets.AddRange(destructiveWidgets); widgets.AddRange(cancelWidgets); return(new Column( children: widgets )); }
static Widget _buildButtons(List <ActionSheetItem> items) { if (items == null || items.Count <= 0) { return(new Container()); } List <Widget> widgets = new List <Widget>(); List <Widget> normalWidgets = new List <Widget>(); List <Widget> destructiveWidgets = new List <Widget>(); List <Widget> cancelWidgets = new List <Widget>(); items.ForEach(item => { Color titleColor; switch (item.type) { case ActionType.normal: titleColor = CColors.TextBody; break; case ActionType.cancel: titleColor = CColors.Cancel; break; case ActionType.destructive: titleColor = CColors.Error; break; default: titleColor = CColors.TextBody; break; } Widget widget = new GestureDetector( onTap: () => { ActionSheetUtils.hiddenModalPopup(); item.onTap?.Invoke(); }, child: new Container( alignment: Alignment.center, height: 49, color: CColors.White, child: new Text( data: item.title, style: CTextStyle.PLargeBody.copyWith(color: titleColor) ) ) ); var divider = new CustomDivider( height: 1, color: CColors.Separator2 ); if (item.type == ActionType.destructive) { destructiveWidgets.Add(item: widget); destructiveWidgets.Add(item: divider); } else if (item.type == ActionType.cancel) { cancelWidgets.Add(new CustomDivider(height: 4, color: CColors.Separator2)); cancelWidgets.Add(item: widget); } else { normalWidgets.Add(item: widget); normalWidgets.Add(item: divider); } }); widgets.AddRange(collection: normalWidgets); widgets.AddRange(collection: destructiveWidgets); widgets.AddRange(collection: cancelWidgets); return(new Column( children: widgets )); }
static Widget _buildButtons(List <ActionSheetItem> items) { if (items.isNullOrEmpty()) { return(new Container()); } List <Widget> widgets = new List <Widget>(); List <Widget> normalWidgets = new List <Widget>(); List <Widget> destructiveWidgets = new List <Widget>(); List <Widget> cancelWidgets = new List <Widget>(); items.ForEach(item => { Color titleColor; switch (item.type) { case ActionType.normal: titleColor = CColors.TextBody; break; case ActionType.cancel: titleColor = CColors.Cancel; break; case ActionType.destructive: titleColor = CColors.Error; break; default: titleColor = CColors.TextBody; break; } Widget widget = new GestureDetector( onTap: () => { ActionSheetUtils.hiddenModalPopup(); item.onTap?.Invoke(); }, child: new Container( alignment: Alignment.center, height: 49, padding: EdgeInsets.symmetric(horizontal: 16), color: CColors.White, child: new Text( data: item.title, style: CTextStyle.PLargeBody.copyWith(color: titleColor), maxLines: 1, overflow: TextOverflow.ellipsis ) ) ); var divider = new CustomDivider( height: 1, color: CColors.Separator2 ); if (item.type == ActionType.destructive) { destructiveWidgets.Add(item: widget); destructiveWidgets.Add(item: divider); } else if (item.type == ActionType.cancel) { cancelWidgets.Add(new CustomDivider(height: 4, color: CColors.Separator2)); cancelWidgets.Add(item: widget); } else { normalWidgets.Add(item: widget); normalWidgets.Add(item: divider); } }); widgets.AddRange(collection: normalWidgets); widgets.AddRange(collection: destructiveWidgets); widgets.AddRange(collection: cancelWidgets); if (widgets.isNotEmpty() && widgets.last() is CustomDivider) { widgets.removeLast(); } return(new Column( children: widgets )); }