From 7fb8c88ab860cc330d10e6c779d7323281f91879 Mon Sep 17 00:00:00 2001 From: Junyuan Feng Date: Fri, 31 Dec 2021 18:51:33 +0800 Subject: [PATCH] detail page display memory exact value --- lib/view/page/server/detail.dart | 18 +++++++++++++++--- lib/view/page/server/tab.dart | 4 ++-- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/lib/view/page/server/detail.dart b/lib/view/page/server/detail.dart index 67d2a562..72d99d90 100644 --- a/lib/view/page/server/detail.dart +++ b/lib/view/page/server/detail.dart @@ -184,6 +184,16 @@ class _ServerDetailPageState extends State )); } + String convertMB(int mb) { + const suffix = ['MB', 'GB', 'TB']; + double value = mb.toDouble(); + int squareTimes = 0; + for (; value / 1024 > 1 && squareTimes < 3; squareTimes++) { + value /= 1024; + } + return '${value.toStringAsFixed(1)} ${suffix[squareTimes]}'; + } + Widget _buildMemView(ServerStatus ss) { final pColor = primaryColor; final used = ss.memory.used / ss.memory.total; @@ -197,9 +207,11 @@ class _ServerDetailPageState extends State Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - _buildMemExplain('Used', pColor), - _buildMemExplain('Cache', pColor.withAlpha(77)), - _buildMemExplain('Avail', progressColor.resolve(context)) + _buildMemExplain(convertMB(ss.memory.used), pColor), + _buildMemExplain( + convertMB(ss.memory.cache), pColor.withAlpha(77)), + _buildMemExplain( + convertMB(ss.memory.total - ss.memory.avail), progressColor.resolve(context)) ], ), const SizedBox( diff --git a/lib/view/page/server/tab.dart b/lib/view/page/server/tab.dart index 0e825bc7..97e62725 100644 --- a/lib/view/page/server/tab.dart +++ b/lib/view/page/server/tab.dart @@ -67,9 +67,9 @@ class _ServerPageState extends State child: AnimationLimiter( child: Column( children: AnimationConfiguration.toStaggeredList( - duration: const Duration(milliseconds: 377), + duration: const Duration(milliseconds: 777), childAnimationBuilder: (widget) => SlideAnimation( - verticalOffset: 50.0, + verticalOffset: 77.0, child: FadeInAnimation( child: widget, ),