❶ 移動webapp前端ui用哪個框架好
WeUI
WeUI是一套同微信原生視覺體驗一致的基礎樣式庫,由微信官方設計團隊為微信 Web 開發量身設計,可以令用戶的使用感知更加統一。包含button、cell、dialog、 progress, toast、article、icon等各式元素。
Frozen UI
Frozen UI是騰訊社交用戶體驗設計 - 增值UI開發團隊一個開源的簡單易用,輕量快捷的移動端UI框架。基於手Q樣式規范,選取最常用的組件,
做成手Q公用離線包減少請求,升級方式友好,文檔完善,目前全面應用在騰訊手Q增值業務中。
FrozenUI提供的CSS組件是目前QQ會員前端開發組所用的通用樣式庫。遵循手Q樣式規范,基本樣式使用離線包的方式減少請求,並提供快速接入的方案。
FrozenUI提供的一系列JavaScript插件,更優雅地在移動端上呈現更靈動的動畫效果。
FrozenJS 是針對移動端開發的 js 組件庫,其依賴 zepto.js 和 FronzenUI。
FrozenJS 的所有組件均以 zepto 的插件的形式存在。
阿里開源的SUI Mobile
SUI Mobile
SUI Mobile 是一套基於 Framework7 開發的UI庫。並參考 Ratchet、Fastclick 開源庫。它非常輕量、精美,只需要引入我們的CDN文件就可以使用,並且能兼容到 iOS 6.0+ 和 android 4.0+,非常適合開發跨平台Web App。
輕量的UI庫 SUI Mobile 非常輕量,核心庫壓縮Gzip後的JS、CSS網路傳輸體積總共只有52K,卻提供了20+個常用的組件。
對於只有HTML&CSS的組件,你只需要復制HTML代碼既可以使用。他的大部分JS組件都是獨立的 Zepto 插件,並且提供了Zepto/jQuery 風格的API,你將會非常熟悉這種方式。
開發團隊:阿里巴巴共享業務事業部UED團隊
網路系
GMU
GMU是基於zepto的mobile UI組件庫,提供webapp、pad端簡單易用的UI組件!
Jingle
Jingle是一個SPA(Single Page Application)開發框架,用來開發移動端的html5應用,在體驗上盡量去靠近native應用,希望有一天html5能夠做到與native一樣的操作體驗。
豐富的UI組件提供了按鈕、列表、表單、彈出框、輪換、上拉/下拉、日歷等各種移動端常用的組件,簡單適用,
前後端分離支持前端模板渲染,模板按需自動載入,完善的事件機制。
輕量級基於Zepto開發,依賴了iscrol
purecss
purecss採用其Grid的部分即可,需要定製的部分,建議自行配置,或者是直接採用grid.css,grid960.css這樣的柵格來處理。Purecss小的沒有節操,全部模塊gzip壓縮後才 4.4KB* 。 考慮到移動端,保持文件盡量小對我們來說非常重要,每一行CSS都經過深思。如果你只用部分模塊,簡直小的忽略。
Pure基石,Pure基於Normalize.css添加了HTML元素的布局和樣式,以及常用的UI組件。全是精華,木有糟粕。
移動端是初衷,Pure是響應式的盒子模型,適應所有尺寸的屏幕。通過皮膚生成器可以自定義樣式。
寫出你自己的樣式,Pure提供最基礎的樣式,鼓勵你基於此寫出自己的樣式。它被設計為容易覆寫,且不影響你自己的樣式。
ionic
基於angular2,豐富的UI組件,大大改進的編程模型,非常適合快速開發。
jquery mobile
jQuery Mobile 是創建移動 web 應用程序的框架。
jQuery Mobile 適用於所有流行的智能手機和平板電腦。
jQuery Mobile 使用 HTML5 和 CSS3 通過盡可能少的腳本對頁面進行布局。
Bootstrap
Bootstrap 是最受歡迎的 HTML、CSS 和 JS 框架,用於開發響應式布局、移動設備優先的 WEB 項目。
wex5
國產的ui,支持打包。
前端UI:完全恪守html5+css3+js,干凈純潔設備api:採用業界主流Phonegap/Cordova
向導、模板:簡單定義,即可輕松製作向導和模板
主題、樣式:海量bootstrap資源引入和定製
UI組件:純H5+CSS3,輕松引入第三方UI組件
插件:輕松對接即時通訊、推送、支付等各類插件
後端:輕松調用後端組件和api,並實現可視化
❷ 當前網站開發較成熟的ui組件有哪些
10大html5前端框架
1、Bootstrap
首先說 Bootstrap,估計你也猜到會先說或者一定會有這個( 呵呵了 ),這是說明它的強大之處,擁有框架一壁江山的勢氣。自己剛入道的時候本著代碼任何一個字母都得自己敲出來擋我者廢的決心,來讓自己成長。結果受到周圍各 種基友的引誘開始了 Bootstrap 旅程。本人雖然是個設計+前端的萬里有一的人才,但是老天只讓我會用 PS 和各種設計工具卻不給我跟設計妹子一樣的審美,所以這也是我最初選擇 Bootstrap 的原因之一,它讓我做出來的東西好歹能在妹子面前裝個逼,不過時間長了難免覺得 Bootstrap 美的讓人煩躁, 但好在它的每個版本都會有很大的改變,不會讓人覺得自己做的網站會跟很多網站撞臉。Bootstrap 的用法及其簡單( 這也可能就是 Bootstrap 作者閱攻城士無數,了解他們痛的結果 ),以至於是個小前端都可以快速上手,幾乎沒什麼學習成本。
2、AUI
第三個是最近剛起來的AUI,雖然作者聲稱是專為APICloud開發者設計的一套UI框架,但實際它還是解決了很多移動前端開發的普遍問題,是主 要面向混合開發的 CSS 框架。看起來作者比較猖狂,各種高級 CSS3 遍地使用,這讓我也不得不去查查這些個 CSS3 的兼容性。不負眾望果然選的都是兼容不錯的屬性,哈哈了一頓激動從前輩手上大膽認識了幾個好東西,並且框架還提供了聊天界面、計數列表等組件,解決了很多 復雜的讓我罵娘的布局,現在可以直接拿走就用。
3、Amaze UI
第二個介紹的是妹子UI,最初使用它是因為本尊遇到了一個愛糾結細節設計士,有一次她跟我的字體較上真了,結果一句頂萬句的 BOOS 誇了她,我只好根據她的想法去解決,結果最後找到了Amaze UI 框架( 我不介意你叫我懶淫 ),按照官方的話說就是 "基於社區開源項目構建的一個跨屏前端框架,以移動優先,從小屏到大屏,最終實現所有屏幕適配,適應移動互聯潮流" 。但其實我就是看中它能解決國內瀏覽器存在的跨屏適配和兼容性問題。
4、Frozen UI
有段時間看到 QQ 瞬間高大上了,後來四處打聽,原來 QQ 客服端也用了 混合開發,其中QQ會員前端用的是 Frozen UI,並且這套框架開源,欣喜若狂耐不住心裡的寂寞直接上手試了一遍,初體驗感覺基礎樣式效果簡單色調清爽,有個比較活躍的社區所以組件什麼的也比較豐 富。
5、Frozen UI
第三個是Frozen UI,有段時間看到 QQ 瞬間高大上了,後來四處打聽,原來 QQ 客服端也用了 HTML 混合開發,其中QQ會員前端 就是用的 Frozen UI,並且這套框架開源,欣喜若狂耐不住心裡的寂寞直接上手三下五除二試了一遍就開始試用,初體驗的就是基礎樣式效果簡單色調清 爽,有個比較活躍的社區所以組件什麼的也比較豐富。
6、WeUIi
第四個是WeUI和同 FrozenUI都屬於 差不多的 WeUi了,也是一個比較專一的框架,WeUI應該說比FrozenUI前者更專一,話 說連個官網都不搞,所有答疑都在 gitHub Issues 解決了,這個框架極其簡單,體積當然就不用說了,模塊也就 7 個左右,不過體量雖然小做 的卻不錯,口碑看 star 就夠了,框架從 16/1/23 發版至今 github star 超過 7K,不過也不排除用戶沒地方發泄所以都跑 到 git 上來,哈哈。
7、SUI
「SUI 是一套基於bootstrap開發的前端組件庫,同時它她也是一套設計規范。通過SUI,可以非常方便的設計和實現精美的頁面」。 果然 還是直接引用官方給的枯燥無味廣告要節省自己的腦細胞( 囧… ),當然了就像廣告說的,如果你之前用過 Bootstrap, 那麼可以輕松轉 向 SUI,這可能就是淘寶給前端屌絲們的福利了。。
8、AUI
第六個是最近剛起來的最近剛起來的 AUI,雖然作者聲稱是專為APICloud開發者設計的一套UI框架,但實際它還是解決了很多移動前端開發的 普遍問題,是它主要面向混合開發的 CSS 框架。,所以看起來作者比較猖狂,各種高級 CSS3 遍地使用,這也使得我不得不去查查這些 個 CSS3 的兼容性。不負眾望果然選的都是兼容不錯的屬性,哈哈了一頓激動從前輩手上大膽認識了幾個好東西,並且框架還提供了聊天界面、計數列表等組 件,解決了很多復雜的讓我罵娘的布局,現在可以直接拿走就用。
9、MUI
曾經一直使用 Android 系統的我,後來見到 IOS,果斷移情別戀了,不知道為什麼蘋果每次調整系統我都特別喜歡,後來一段時間因為缺設計 我專門模仿 IOS 系統做 UI,但始終不能夠做到很好,無意間就發現了 MUI 這個框架,這個框架給我的吸引之處就是它的 UI 是以 IOS 為 主體設計的,當然它也補充了android特有UI樣式。並且MUI官方聲稱用來開發深入以後發現拿它做 APP 還能夠提高用戶使用流暢度,然後便試著 更深入的了解和使用一段時間。
10、Semantic UI
倒數第三個是 Semantic UI,接觸這個框架還是因為 Bootstrap,Semantic UI 剛上線 github 就受到大量開發者的關注,以至於很多人拿它倆對比各種挑刺各種誇,是好是壞不能單憑別人三句四句就抬起手指開始贊,用了以後感覺 UI 上跟 Bootstrap 沒太多的區別,不過代碼命名規范上卻相差甚大,本人認為 Semantic UI 是不是就想做的不一樣,它的命名全是採用復合的方式,類名特別的離散,用的時候你得很小心自己擴展或者新增的 class 命名與它的類名沖突。
Foundation
Foundation 算是框架界的元老啦,都說框架去的早,而這個框架一直到現在依然這么的熱門,如果你比較介意 Bootstrap 開發撞臉的尷尬事情,那麼你可以考慮使用 Foundation 。即使你使用預定義的 UI 元素, 也不會與其他網站太像,就像官方說的給開發者更靈活的框架體驗。
UiKit
UIkit是YOOtheme團隊開發的,在許多WordPress主題中都有應用(也就是如果你是個 WordPress 愛好者,那麼這個框架應該比較適合深究),並且框架能夠通過GUI編輯器和手動編輯,所以它提供了一個靈活、強大的自定義機制。框架藉助LESS、 jQuery、normalize.css及FontAwesome開源項目的獨有特點,整合成了這么一款輕量級、模塊化的前端框架。
Pure
終於最後一個了,我和你一樣好開森 (~ ̄▽ ̄)~),這個框架是我在做管理系統時接觸的,選擇使用也是因為框架小巧,並且是純 CSS,沒有太多的牽扯,好用來與其他框架快速結合使用。
❸ ui界面設計常用軟體有哪些(ui用什麼設計軟體)
一般來說,UI會用到這些工具
1.Mason
現如今,視覺稿(Mockup)和原型(Prototype)是網頁和APP設計過程中最常用的方法。兩種方式都很有效,不過也都可能會在時間和花銷上對整個項目產生壓力,影響團隊和項目的整體推進,尤其是在時間和精力都非常有限而項目又非常復雜的情況下。
Mason提供了一個更好的解決方案,它讓你無需設計線框圖、原型和視覺稿,而直接拿現成的組件來編輯和設計,並且確保最終輸出的產品既具備功能,也是像素完美的,最後通過Mason的平台進行部署,甚至你都不需要有代碼編寫的經驗。
Mason的設計方法看起來很激進,但是實際上非常的易用。無論是調整還是維護,Mason都能確保控制項和元素都很容易處理。在Mason中修改、發布,然後就能正常使用。無需親手編寫代碼,諸如注冊、登錄等各種常見的功能都能夠正常輸出使用。
這款工具並不會限制你將網站投放到特定的平台或者託管環境下,你可以在你最熟悉的伺服器或者服務商那邊部署。這可以大幅度節省管理費和時間,並且你會發現團隊協作更加高效了。
2.摹客(國產UI設計神器,強烈推薦)
這款國產的工具快速易用,Sketch/PS/XD/Figma/Axure/Mockplus設計稿一鍵上傳,設計評審討論,自動標注一鍵生成,手動標注自由發揮。
1.自動標註:
滑鼠hover圖層即可自動生成標注,一鍵轉換為百分比標注,還可以放大鏡查看細微標注。
2.手動標註:
文字、坐標、顏色、尺寸、區域5種工具自由選擇,信息傳達更准確。
-用文字工具添加備注說明;
-用坐標工具睜瞎添加位置信息;
-用顏色工具吸取圖層,色值智能生成;
-用線段工具標注尺寸,數值自動生成;
-用區域工具標注局部圖層,寬、高自動生成。
3.單位自由轉換:
支持iOS的pt,Android的dp,Web的rem,還可以保留0-3位小數,標注更自由。
4.完整的標注屬性:尺寸、邊距、不透明度、字體大小、字重、行高、字間距等。相關屬性一鍵復制即可使用。
除了智能的標注方式,摹客的切圖、交互、全貌畫板、文檔管理等功能也很實用。最值得一提的是,摹客基礎功能完全免費。
3.Overflow
設計師講述故事最有效的辦法之一,是將故事中的節點連在一起,將用戶歷程線性地呈現出來。這樣的方式會讓訪客更好的理解他們所看到的內容,同時能夠更加專注於細節的呈現,並且構建有效的反饋機制。
作為世界上第一個為設計師量身定製的用戶流程圖工具讓世,Overflow可以幫助設計師更好地講述故事。它為設計師提供了一種全新的方式來更好的呈現作品,講述故事,以互動式的流程同用戶進行溝通,吸引用戶的注意力。
Overflow是一款跨平台的工具,可以與目前最流行的設計工具無縫地集成起來,允許設計師在同一個平台上完成設計、展示、共享和列印他們的用戶流程。
4.UXPin
UXPin可能是目前對於設計團隊來說最理想的快速原型工具,尤其是當產品的UX設計和研發高度依賴快速反饋循環機制的時候。UXPin可以讓設計團隊在向開發交付原型之前,充分地進行設計、共享和測試。
開發人員所需要的數據,實際上在每個項目設計完成之時,就會自動生成。所以,在將設計交付給開發人員之前,甚至可以使用檢測工具,驗證一下產品的部署是否和設計元素相互匹配。
UXPin還提供一個完整的設計系統解決方案,幫助你保持整個產品的UI元素的一致性。而每個產品的UI組件都可以使用一段代碼記坦早肢錄下來,因此可以更加輕鬆快速的擴展產品的功能。
5.Creately
UI/UX設計當然不僅僅是線框圖和視覺稿,它是動態的,系統化的,而這也是Creately這款工具的價值所在。這款圖標工具適合生成工作流程,支持不同的圖表類型,包括流程圖、思維導圖、UML圖標、線框圖等。它所提供的圖表功能和協同工作的功能,可以幫助設計師完成一半以上的工作。
使用Creately來創建圖表,可以輕松創建出足夠漂亮的圖表,其中配備的1000多個專業的設計圖表模板,可以快速地完成各式各樣的UX設計項目。
6.PowerMockup
有許多UX設計師會使用PowerPoint來構建互動式原型,有了PowerMockup之後,你再也不需要尋找其他的工具來輔助你的工作了,它就可以幫你創建高效可共享的互動式原型。
在構建原型的時候,只需要從PowerMockup不斷增長的資源庫找到對應的形狀或者設計元素,拖拽到PowerPoint當中,然後進行設計即可。為了實現互動,你所需要調用的也無非是PowerPoint當中的幻燈片和動畫功能,很簡單。
7.VisualInspector
VisualInspector讓設計師、開發者和負責維護的人員能夠實時地在網站中檢查和解決各種UI問題,並且同其他的工作人員隨時共享信息。
這款工具不需要你懂得代碼,只需要幾秒鍾就可以啟用UI工具,並且幾乎可以任何類型的網站(使用HTML代碼,或者WordPress系統的)進行協同工作。這款工具不是免費的,終身授權的版本只需要付費49美元即可。
8.FluidUI
FluidUI是一款可以用來設計線框圖、原型圖和視覺稿的綜合性工具,它還為項目經理和分布式設計團隊提供了非常完善的協作功能。它擁有非常全面的組件庫,橫跨桌面端、iOS和Android等主流的、必須的平台。
❹ SUI Mobile - 阿里出品的小巧且精美的手機H5前端UI庫
阿里巴巴共享業務事業部UED團隊的作品。專門為手機H5頁面提供一個常用的組件庫,以減少重復工作。
SUI Mobile(MSUI) 是一套基於 Framework7 開發的UI庫,風格樣式偏iOS。它非常輕量、精美,只需要引入CDN文件就可以使用,並且能兼容到 iOS 6.0+ 和 Android 4.0+,非常適合開發跨平台Web App。
相比於現在大前端的工程化開發,SUI Mobile 上手非常簡單,引入js文件就能開始使用,因此上手難度非敏猜氏常小,對於一些不了解前端工程化的開發者,不需要學習vue\react等框架。
而對於一些邏輯簡單、快速開發的營銷頁面或橋散者h5應用,反而不適合工程化的開發。這時候選擇 SUI Mobile 就非常適合。
SUI Mobile 免費開源,請放心搬磚。
https://sui.ctolog.com
那些免費的磚(www.thosefree.com) 持續更新設計、前端圈免費開源、兆亮可商用資源。
❺ android 怎麼使用ui庫
安裝成功後,根據Android官網給出的教程,首先第一步是在build.gradle中添加依賴:
dependencies {
androidTestCompile 'com.android.support.test:runner:0.2'
androidTestCompile 'com.android.support.test:rules:0.2'
androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.0'
}12345
然後添加
defaultConfig {
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}123
添加完依賴後Sync Project with Gradle Files,但是同步後我發現上面相關的庫文件並沒有被添加進來.對比很多資料後,我很確信不是我在寫法的問題.就是這個問題折騰了我好幾天的!
最後的解決辦法是先把androidTestCompile換成compile,同步一下,此時會發現庫文件已經被添加進來了.
最後再將compile換回androidTestCompile,解決~
突然就覺得自己被坑了,也不知道這算不算是AS的一個BUG…
如果同步之後發現諸如此類的錯誤:
Warning:Conflict with dependency 'com.android.support:support-annotations'. Resolved versions for app (22.1.1) and test app (22.0.0) differ.1
先在項目的根目錄用./gradlew -q app:dependencies查看項目依賴關系(Windows用戶請使用gradlew.bat -q app:dependencies), 然後修改build.gradle,否則在後面運行測試時可能會報依賴關系的錯誤.
可能需要為gradlew加上可執行許可權.
說明:我這里會報這個警告是因為新建項目的時候AS幫我自動添加了compile 'com.android.support:appcompat-v7:22.1.1'依賴,將22.1.1改為22.0.0即可.
然後還要在build.gradle中添加:
packagingOptions {
exclude 'LICENSE.txt'
}123
不添加的話運行時候還是會報錯的.
最後,確保此時有android設備在運行(虛擬器或手機都可以,要求是系統版本要18或18以上),然後在項目的根目錄下輸入命令:
./gradlew cC1
如無意外的話,應該可以看到BUILD SUCCESS了!
如果不想用命令行的話,也可以Edit Configurations,然後點擊+ –> Android Test,然後選擇對應的Mole,然後在下面的Specific Instrumentation Runner選擇
android.support.test.runner.AndroidJUnitRunner
選擇OK,然後點擊啟動按鈕.如無意外的話,應該可以看到一條綠色的進度條了!
關於另外一個自動化測試框架Espresso,導入方法和uiautomator一樣,不同的只是依賴而已.
dependencies {
androidTestCompile 'com.android.support.test:runner:0.2'
androidTestCompile 'com.android.support.test:rules:0.2'
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.1'
}
❻ ui組件庫是幹嘛的
1、為了一個項目有統一的主題(顏色),外觀,和操作體驗。一般來說一個項目由一個團隊開發,如何保證團隊裡面的每個人都對同一個事情有同一個認知,而這幾乎不可能。這樣說大家可能不太能理解,舉例來說:同一種情況下,同扮冊一個按鈕,不同的人用的顏色,底色,邊框圓角不可能完全一致。就算是同一個人,也不一定能保證在同樣的情況下,按鈕的主題,外觀,操作反饋一定是一樣的配埋。所以大公司制定統一的開發標准,開發底層公共組件庫,保證同一個項目中同一種情況下用戶的體驗是一致的。(這里包括顏色,外觀,操作反饋等)。
2、從結果論的角度說,一個完善的組件庫能極大提高我們的開發效率。一般來說,一個完善的組件庫能幫我們提高30%的開發效率,讓我們只需要專注於業務邏輯,而不需要考慮基礎組件復用性、擴展性、穩定性的問題。因為我們需要的一般基礎組件它都幫我們封裝好了,我們直接用就OK,而且復用性,擴展性,穩定性極高。如果是我們自己寫一個通用的組件,一般需要我們考察需求,探索原理,解決復用性,擴展性,穩定性的問題。這對於開發效率要求高的項目幾乎是不可行的。
3、組件庫給我們了一套最佳實踐,供我們借鑒,學習,參考。一般來說,一套組件庫是基於一種設計原廳賣宏則的最佳實踐。何為最佳實踐,就是面對同一個問題,A方案可行,B方案也可行,C方案也可行,後面還有N多方案,但是在眾多的實踐中,發現A方案在效率,外觀,體驗等等方面綜合價值最高。那麼A方案即為此問題的最佳解決方案。
❼ 前端ui框架排名
在前端項目開發過程中,現在很少有人會使用原生的CSS來搭建頁面,總歸都會引入一些前端UI框架以減少代碼的書寫。一般為了方便自己的使用,很多大公司都有自己的一套UI框架,同時也會把其開源出來。下面就是最近經常使用並且很流行的一些前端UI框架,總有一款適合你:
Mint UI
Flutter
Flutter 是谷歌的移動端 UI 框架,可在極短的時間內構建 Android 和 iOS 上高質量的原生級應用。 Flutter 可與現有代碼一起工作, 它被世界各地的開發者和組織使用, 並且 Flutter 是免費和開源的.
ionic
Ionic既是一個CSS框架也是一個Javascript UI庫,Ionic 是目前最有潛力的一款 HTML5 手機應用開發框架。通過 SASS 構建應用程序,它 提供了很多 UI 組件來幫助開發者開發強大的應用。 它使用 JavaScript MVVM 框架和 AngularJS 來增強應用。提供數據的雙向綁定,使用它成為 Web 和移動開發者的共同選擇。
❽ UI設計師,是時候了解一下組件庫了
在開始這個話題之前,UI設計師先來回想一下自己的工作流程,當我們開始做一個界面時,不外乎兩種情況,一種是新產品,一種是現有產品迭代界面重繪。對於前者,是不是先扒拉扒拉參考一下競品的界面設計,然後套一套自己茄豎舉產品的功能,然後就可以開工了,這里需要放個導航條,嗯,這里用選項卡,再加個搜索顫碧框,搜索圖標放裡面好還是放外面好呢,就放外面吧,熱門搜索要不要做成標簽呢,不行,這事決定不了,去問問項目經理去,這里還需要一個文本輸入框,限制200字,那就給它個高度300像素吧。而第二種情況,更簡單,重新配配色,布布局,畫畫圖標,就醬。不出意外的話,絕大多數UI不會脫離這個套路。(「大神級」UI自然也不會在看這篇文章,這一部分人就暫時忽略了)
如果作為UI設計師的你現在仍然停留在這個階段的話,那從現在開始,你需要重新規劃一下自己的設計思路了,並且,最最重要的是,你需要了解兩個東東,「框架」和「庫」。這兩個概念我自己也比較模糊,從UI設計師的角度出發,我們需要知道的一點是和你們合作的前端極少極少不使用框架,而UI庫是一些封裝好的組件的樣式,你發給攻城獅的設計稿,他們拿到後的第一反應就是纖孝趕快看看(咳咳,當我沒說)有沒有現成的可使用的組件樣式,最好越接近你的設計越好,然後簡單改改,攻城獅們的工作思路和我們是一樣一樣的,最好不改交互方式,只改樣式。(什麼控制項、組件、插件的,我也不能嚴格區分,所以即使有錯誤的地方,也請勿糾正,哈哈)
說到這里,UI設計師又開始各種煩躁了,設計師到底為毛要掌握這些莫名其妙的知識??舉個例子先,我們都知道給響應不是那麼快的頁面設計一個載入動畫,那作為設計師的你知不知道載入狀態是和伺服器存在數據交互時使用,如果是本地行為,則不需要載入狀態。只有了解這個,你才會知道你的載入動畫應該在哪些頁面出現,進行什麼操作時出現,以什麼形式出現合適。(咦,這個例子似乎舉得沒有代表性,那麼來看下面這個例子)
就說個最簡單的tab選項卡吧,SUI組件庫里的tab選項卡樣式是下面這樣子的:
樣式似乎沒有什麼參考性,但你從中要得到的一個重要信息就是,作為選項卡而言,內容要和選中標簽頁看上去成為一個整體,也就是說你可以重新設計成下面這個樣式
但如果你設計成了這種樣式
那麼請來告訴我,這神秘的橫線我該如何理解呢?即使下面這種,仍然不是最佳方式,因為我們的選項卡需要「第一眼看上去就知道哪個tab頁處於選中狀態」。
目前廣泛應用的UI組件庫,包括easyUI、amazeUI、Bootstrap等等,我們可以從這些來入手,在設計時進行一下參考,如果它的按鈕有四個狀態,OK,你也來對應設計四個狀態,如果它的input輸入框有禁用狀態,獲得焦點狀態,那同樣你也要在自己的設計文檔中予以體現。(當然,並非絕對,也要考慮項目的實際情況,靈活變通)
現在重新理一下工作流程,你要先咨詢一下前端開發人員他們常用什麼,或者項目中已經使用了什麼,咱們來舉例說明,如果前端攻城獅們已經使用了EasyUI,而碰巧你的項目中需要一個日期選擇的功能,那正確的思路應該是怎樣的呢?
首先,你需要先看一下EasyUI庫里日期控制項的樣子。就是下面這樣
然後試一下功能,再進行設計時,心裡就有底了,比如可以改成下面這樣
但這樣就完了么?作為UI還需要考慮對於這個控制項而言都提供了幾種狀態?默認載入的當前日期、選中其他日期後的當前日期、滑鼠經過、周六/周日的日期顏色、非本月的日期的顏色,這些都需要一一體現在你的標注文檔里,事無巨細,一旦疏忽了其中任何一個小細節,好點的情況是負責的前端開發人員會過來和你溝通,而有時可能攻城獅們一疏忽,那隻有寄希望於視覺走查和測試了。這么簡單的一個日期控制項都需要考慮全面,所以,一個合格的UI還是需要多沉浸的。
如果你不沒有看過UI庫里日期組件的樣式,而自作主張的設計成了下面的樣子
還拿出很多理論來支持自己的設計,你看,年和月的選擇都很方便快捷嘛,嗯,好想看你被開發人員暴打的樣子……當然了,這里不是說不讓你發揮你的創意,不過除非你有非常說服力的理由和讓別人心服口服的設計理論支持,否則,不要做這種出力不討好的事情,因為作為成熟的組件庫,經過多年的發展,已經被很多人所認可和使用,也能更大程度上和其他用戶經常使用的產品保持一致的交互。
對於移動端,Android SDK提供的界面UI基本沒有看的必要,而絕大多數開源UI庫源碼在github,給設計師們直觀的查看設置了門檻,比如GreenDroid等等,Android的UI框架和web的有個比較大的區別就是按組件分類,像Side-Menu分類側滑菜單,Pull-to-Refresh下拉刷新,給UI設計師推薦一個awesome-android-ui,自帶Demo, https://github.com/wasabeef/awesome-android-ui/blob/master/pages/Material.md ,包括一些動效,很直觀。
比如這種水紋效果的樣式。
還有這種漢堡菜單/關閉/返回按鈕的變換
作為UI設計師,在做原型稿的時候基本不用費盡心思用AE來做什麼特效,直接附上效果和庫的源文件地址就好,方便自己也方便開發。
另外移動端的UI日常尤其要注意控制項樣式的積累,自己建好文件夾,分好類,按鈕/編輯框/switch/文本控制項/進度條/滾動條/對話框/日歷/導航/圖表/菜單/輪播廣告位/搜索框/標簽組等等,為了減輕開發人員的負擔,在看到不錯的效果時,可以把Demo動畫和項目地址同時保存下來,因為你的天馬行空的想像或者簡單一句「在XXX上好像看過這種效果」會讓開發人員非常抓狂。
多看UI庫的另外一個好處是拓展自己的設計思路,像下面這種Floating Action Button
還有粘連效果的頁面指示器
如果不是看到這種動效,或許我們自己也想不出可以做成這種樣子。
iOS開發的話因為我本人也只涉及過寥寥數個項目,而且都是和Android用的同一套界面,所以未總結出足夠的經驗,最多看看最新版的HIG人機交互指南,參考過幾個競品,所以這里就不獻丑了。
❾ Jetpack Compose布局(一) - 布局基礎知識
在上篇 《Jetpack Compose技術快速上手》 一文中簡單介紹了Compose,那麼這邊我們就來學習下Compose的布局。由於布局這塊涉及內容較多,會分開寫。
布局主要包括:布局基礎知識、 Material組件和布局 、 自定義布局 、 Compose中使用ConstraintLayout 。
本文重點講解 布局基礎知識 。
主要涉及: 可組合函數、標准布局元素、基本組件、布局模型、修飾符、槽位布局 。如下圖:
可組合函數是 Compose 的基本構建塊,返回值是 Unit 的函數,用於描述界面中的笑納某一部分,該函數可接收參數。
組合函數中可包含多個界面元素。
其基本格式為:
在Compose中標準的布局元素有三個: Box 、 Column 、 Row 。
Box
重疊布局,類似Android View系統中的FramLayout布局,元素會重疊顯示,其原型定義如下:
例子
Column
垂直布局,在界面元素垂直方向依次排列。源碼中定義如下:
實例
Row
元素水平方向分布,源碼中定義:
示例
Jetpack Compose中組件庫包括:compose-ui和material。很多常用基本組件都是在material庫中,Compose-ui中組件很少:Image、BasicTextField(輸入框)。
示例:
在對標准布局元素和組件有了一定了解後,我們來看下Compose的布局流程。
首先Compose布局是一個界面樹,從樹的根節點開始依次要求其子節點對自身進行測量,然後遞歸完成所有子節點岩升茄的測量,並將約束條件沿著樹向下傳遞給子節點,並將測量的尺寸和放置指令依次向根節點傳遞。
以下面可組合函數為示例:粗察
其布局過程如下圖示:
在Compose布局中修飾符至關重要,您可以使用修飾符來修飾或擴充可組合項。常用的修飾符如下:
修飾符擴展
除了使用Compose提供的修飾符外,我們也可以擴展函數自定義修飾符,具體方式可以參考 Jetpack Compose布局(三) 一文中講的 擴展布局修飾符 。
強調:修飾符的使用是有順序的
強調:修飾符的使用是有順序的
強調:修飾符的使用是有順序的
例如,將上例的background和padding順序調換下,就會如下圖效果,仔細看兩圖的頂部邊距,會發現區別
Compose中提供了固定槽位的可組合項,以簡化界面元素,這些主要在 androidx.compose.material:material 庫中,如: Drawer 、 FloatingActionButton 、 TopAppBar 等。
Material 組件大量使用槽位 API,這是 Compose 引入的一種模式,它在可組合項之上帶來一層自定義設置。這種方法使組件變得更加靈活,因為它們接受可以自行配置的子元素,而不必公開子元素的每個配置參數。槽位會在界面中留出空白區域,讓開發者按照自己的意願來填充。如下圖 TopAppBar 的槽位。
關於槽位內容會在 Jetpack Compose布局(二) 中做詳細講解,本篇就不進行深入討論了。
歡迎留言,一起學習,共同進步!
❿ 什麼是android的四大組件
Android四大組件有Activity,Service服務,ContentProvider內容提供,廣播接收器。
Android應用程序由一些零散的有聯系的組件組成,通過一個工程manifest綁定在一起。在manifest中,描述了每一個組件以及組件的作用,其中有6個組件,它們是Android應用程序的基石
(10)androii組件庫擴展閱讀
Activities(活動御梁中)
應用程序鎮山的顯示層。每一個畫面對應於你的應用程序,將會是Activity類的擴展。Activity使用Views去構建UI來顯示信息和響應用戶的行為。就桌面開發而言,一個Activity相當於一張Form。
Services(服務)
Android應用程序中不可見的「工人」。渣茄Service組件運行時不可見,但它負責更新的數據源和可見的Activity,以及觸發通知。它們常用來執行一些需要持續運行的處理,當你的Activity已經不處於激活狀態或不可見。
Content(內容)
提供共享的數據存儲。ContentProvider(內容提供器)用來管理和共享應用程序的資料庫。在應用程序間,ContentProvider是共享數據的首選方式。
BroadcastReceivers(廣播接收器)
Intent廣播的「消費者」。通過創建和注冊一個BroadcastReceiver,應用程序可以監聽符合特定條件的廣播的Intent。BroadcastReceiver會自動的啟動你的Android應用程序去響應新來的Intent。BroadcastReceiver是事件驅動程序的理想手段。
-Android組件