Skip to main content

成績骨架 ScoreScaffold

提供顯示成績(Score)骨架,顯示 ScoreData 中的成績列表List<Score>資訊。自 v2 版本起,更新了外觀與操作體驗,並與 SemesterPicker 有更好的整合。v3 全面改用 Material Design 3 的 colorScheme 取得主題色彩,並將成績分析 UI 提取為獨立元件。

  • 支援響應式介面
    • longestSide >= 880 顯示平板模式
    • 平板模式時,列表於詳細資訊會水平顯示
  • 提供學期列表的區域,預設只提供學期資料SemesterData,即可使用相關的 Callback

手機介面

drawing

平板 or 桌面版介面

drawing
參數名稱型態描述
stateScoreState必要欄位,總共有 loading finish error empty offlineEmpty custom 的狀態,只有finish才會顯示課表介面,其餘都是顯示錯誤狀況
customStateHintString當 [state] 是 custom 時,會顯示此字串
titleStringScaffold 標題
scoreDataScoreData成績資料,會利用其中的 List<Score> 顯示成績
itemPickerWidget使用自訂元件實作學期選擇器,[itemPicker] 與 [semesterData] 擇一使用
semesterDataSemesterData學期列表
onSelectFunction(int index)學期列表點擊事件,回傳[semesterData]的索引值,[semesterData] 不為 Null 時才有效
isShowSearchButtonString是否顯示搜尋按鍵,預設值為 true
onSearchButtonClickFunction搜尋按鍵點擊事件
onRefreshFunction下拉更新事件
actionsList<Widget>AppBar 右邊的區域,為Flutter 原生 API Scaffold 的參數
customHintString學期選擇器與課表中間的提示字
middleTitleString成績列表第一列的標題,預設為 ApLocalizationsmidtermScore
finalTitleString成績列表第二列的標題,預設為 ApLocalizationsfinalScore
middleScoreBuilderWidget Function(int index)成績列表第一列Builder,Null時預設顯示為 Score 參數中的 midtermScore
finalScoreBuilderWidget Function(int index)成績列表第二列Builder,Null時預設顯示為 Score 參數中的 finalScore
detailsList<String>第二區塊,列表顯示其中的資訊
bottomWidgetAppBar 底下的區域,為Flutter 原生 API Scaffold 的參數

成績分析元件

自 v3 起,成績分析的相關 UI 已從 ScoreScaffold 內部提取為獨立元件,可在其他頁面重複使用:

元件名稱描述
ScorePRCard估計 PR 值卡片,顯示漸層進度條與等級標籤
ScoreStatisticsCard成績統計卡片,顯示最高分、最低分、標準差、科目數
ScoreDistributionCard成績分佈卡片,以水平長條圖顯示各分數區間的科目數
ScoreCreditSummaryCard學分統計卡片,顯示修習學分、及格學分、不及格學分

以上元件皆接受 ScoreAnalysis 作為必要參數,可從 ap_common_flutter_ui 匯入使用。