中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

DailyTick 開發實錄 —— UI 設計

發布時間:2020-06-17 16:30:04 來源:網絡 閱讀:365 作者:張立達 欄目:網絡安全

上次的文章中描述了 DailyTick 的設計理念。經過兩周左右的設計和開發,現在 DailyTick 的主要 UI 已經完成了原型的設計和初步的實現。既然是原型,當然看起來就有點粗糙。

主 UI

DailyTick 開發實錄 —— UI 設計

主 UI 是使用一個 TabbedView 實現的。一個用來記錄,一個用來統計。當然,最終的完成版應該至少有 3 個 Tab,因為還需要有一個“設置”的 Tab。現在因為我還沒想到有什么需要設置的,暫時沒有寫。在“記錄”這個 tab 里,有兩個組件:一個 ListView 和一個 NControl 寫成的圓形按鈕。使用的時候,只需要點一下下面那個圓形按鈕,就可以形成一條記錄。當然,為了防止誤點,我這里設置了一個限制,就是兩次點擊之間需要大于 1 分鐘。這帶來一個麻煩就是:你不能記錄小于 1 分鐘的事件。比如你想看看自己每天做時間記錄的過程消耗了多長時間,這個暫時辦不到。

上面這個列表,其實我還是有點擔心的:如果這個軟件可以被使用 10 年(應該不太可能,因為那個時候,應該會有比手機更好用的設備),按照我現在記錄的情況來看,一天大概有 30 條左右的記錄,一年是 365 * 30 = 10950 條,10 年就是 10 萬條,如果每天記錄得細點,可能就有幾十萬條,那會不會崩呢?雖然可以使用 Cell 的重用機制,不過也還是有點擔心。當然,比起 ListView的性能問題,我更擔心的是內存夠不夠用。因為左邊那個時間顯示,并不是一個 Label。因為我的 UI 設計水平太差,所以我使用了 ListView 內置的 ImageCell,左邊那個是一個圖片。這個圖片是在內存里繪制出來,再使用 ImageSource.FromStream 載入的。所以不知道會不會消耗太多的內存。這里可能是一個可以優化的點。

對事件/活動的修改

DailyTick 開發實錄 —— UI 設計

在記錄完一個活動/事件之后,需要記錄做了什么事情,也就是一個事件/活動的主題,還需要給一個事件添加標簽,以便之后做統計。本來我想的是,使用 ListView 的 Context Menu 來實現的,但這東西有個問題,就是和 TabbedView 的左右滑動有沖突,所以怎么也不能顯示 Context Menu。我只好放棄這個方案,使用了 DisplayActionSheet。結果,在 Android 上,就成了這個樣子。不是很美觀。當然,做為原型,也就先這樣好了。

雖然這里寫了5個操作,但我現在只實現了 1.5 個。這個 1 就是:

DailyTick 開發實錄 —— UI 設計

好吧,我知道這個也有點丑(這也叫有點……)。功能很簡單,就是一個文本的編輯,然后再更新回原來的列表里。另外的 0.5 個,是編輯 tag 的 page,這個只是完成了一個樣子,但我感覺并不是很好用,可能在后面還會再改。

DailyTick 開發實錄 —— UI 設計

按照我現在的設想,DailyTick 不會有其它時間記錄軟件那種編輯一個事件的開始時間、結束時間的功能,我提供的是把一個時間段進行拆分,或者把兩個時間段合并。這樣保證了一天的時間線是完整的,不存在“無記錄時間”這個東西。因為按照我對這個軟件的設計哲學,人是無法控制時間的,不管你怎么使用自己的時間,時間本身都會不受控制的流走。所以,我們能做的,只是記錄自己在某一段時間里做了什么。這里可能有一個問題,需要在未來解決一下,就是在什么地方體現我一天的日程安排,也就是 TODO 要記錄在哪兒的問題。

這里,時間段拆分是有一個 UI 的,我寫了一個草稿,但沒有放上來。對于合并操作,可能只有確認的提示,不會有單獨的 UI。

統計 UI

統計頁里,只有一個 WebView,當然是一個定制的 WebView,因為我需要在 C# 和 JS 之間傳數據。這個 HybridWebView 的基礎實現已經實現出來了,不過要怎么傳遞數據,還沒有想法。按照現在的初步設想,應該會使用 highchart.js 和 jQuery 來完成統計頁的實現(并沒有什么復雜交互,不想上 MVVM 的東西了)。主要就是報表和餅圖了。雖然我覺得餅圖其實意義有限,直接一個 table 可以搞定很多工作,但如果這個工具被擴散到非理科出身的人那里(只是幻想一下),那么統計圖就變成必不可少的東西了。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

衡阳县| 台山市| 兰溪市| 西充县| 平武县| 郴州市| 邳州市| 乃东县| 万年县| 峨眉山市| 汝阳县| 湾仔区| 平邑县| 碌曲县| 蒙城县| 昌平区| 闽侯县| 牟定县| 裕民县| 辛集市| 徐州市| 射阳县| 金华市| 扎兰屯市| 阳信县| 宝清县| 图木舒克市| 武陟县| 分宜县| 民权县| 繁昌县| 福鼎市| 文水县| 洞口县| 潞城市| 吉隆县| 宿迁市| 广南县| 芜湖县| 云南省| 新巴尔虎左旗|