国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Android > 正文

Flutter質(zhì)感設計之列表項

2019-12-12 00:33:48
字體:
供稿:網(wǎng)友

本文為大家分享了Flutter實現(xiàn)列表項的具體代碼,供大家參考,具體內(nèi)容如下

創(chuàng)建achievement_view_list_item.dart文件,具體的實現(xiàn)每一個列表項。

import 'package:flutter/material.dart';// 創(chuàng)建類,成就目標class Target { // 常量,構(gòu)建函數(shù) const Target({  // 自變量,目標名稱  this.name,  // 自變量,目標獎勵  this.reward }); // 最終值,成就目標名稱 final String name; // 最終值,成就目標獎勵 final String reward;}// 定義數(shù)據(jù)類型,目標改變回調(diào)typedef void TargetChangedCallback( // 類型參數(shù),目標 Target target, // 類型參數(shù),是否新目標 bool nowTarget);// 創(chuàng)建類,成就視圖列表項目,繼承StatelessWidget(無狀態(tài)的控件)class AchievementViewItem extends StatelessWidget { // 構(gòu)造函數(shù) AchievementViewItem({  // 目標參數(shù),傳遞目標  Target target,  // 自變量,是否新目標  this.nowTarget,  // 自變量,對目標的改變  this.onTargetChanged }) :  // 接收傳遞的目標  target = target,  // 調(diào)用父類  super(   /*    * 控件和元素的標識符:    * 將其對象的標識用作其值    * 用于將控件的標識綁定到用于生成該控件的對象的標識    */   key: new ObjectKey(target)  ); // 類成員,存儲目標 final Target target; // 類成員,存儲是否新目標 final bool nowTarget; // 類成員,對目標的改變 final TargetChangedCallback onTargetChanged; // 類函數(shù),獲得顏色 Color _getColor(BuildContext context) {  /*   * 是否新目標   *  是:返回灰色   *  否:返回主題的背景色   */  return nowTarget ? Colors.black54 : Theme.of(context).primaryColor; } // 類函數(shù),獲得文本樣式 TextStyle _getNameTextStyle(BuildContext context) {  // 如果不是新目標,返回文本樣式控件  if (!nowTarget) return new TextStyle(   // 繪制文本的大小:16.0   fontSize: 16.0,   // 繪制文本時使用的顏色:黑色   color: Colors.black,   // 繪制文本時加粗字體   fontWeight: FontWeight.bold,  );  // 返回文本樣式控件  return new TextStyle(   fontSize: 16.0,   // 繪制文本時使用的顏色:灰色   color: Colors.black54,   // 繪制文本時加粗字體   fontWeight: FontWeight.bold,   // 在文本附近繪制的裝飾:文本中繪制一條橫線   decoration: TextDecoration.lineThrough,  ); } // 類函數(shù),獲得文本樣式 TextStyle _getRewardTextStyle(BuildContext context) {  // 如果不是新目標,返回文本樣式控件  if (!nowTarget) return new TextStyle(   // 繪制文本的大小:13.0   fontSize: 13.0,   // 繪制文本時使用的顏色:黑色   color: Colors.black,  );  // 返回文本樣式控件  return new TextStyle(   // 繪制文本的大小:13.0   fontSize: 13.0,   // 繪制文本時使用的顏色:灰色   color: Colors.black54,   // 在文本附近繪制的裝飾:文本中繪制一條橫線   decoration: TextDecoration.lineThrough,  ); } // 覆蓋此函數(shù)以構(gòu)建控件 @override Widget build(BuildContext context) {  // 返回值:創(chuàng)建列表項,通常包含圖標和一些文本  return new ListItem(   // 當用戶點擊此列表項時調(diào)用   onTap: () {    // 調(diào)用對目標的改變函數(shù)    onTargetChanged(target, !nowTarget);   },   // 要在標題之前顯示的控件:創(chuàng)建圓形頭像控件   leading: new CircleAvatar(    // 填充圓形的顏色:獲得顏色函數(shù)    backgroundColor: _getColor(context),    // 子控件:文字控件    child: new Text('

主站蜘蛛池模板:
桃源县|
大城县|
屏山县|
泊头市|
龙海市|
浦江县|
芒康县|
白城市|
民勤县|
当涂县|
嵊州市|
马山县|
日喀则市|
大宁县|
泰和县|
昌乐县|
长垣县|
宁河县|
兴业县|
澄江县|
房山区|
广宗县|
台安县|
商都县|
千阳县|
上高县|
台北县|
昭通市|
晋江市|
怀仁县|
吉隆县|
怀远县|
德江县|
遂川县|
墨脱县|
科技|
义马市|
宣汉县|
合川市|
乳源|
望奎县|