Android Material Design系列之主題樣式介紹說明等

2021-03-02 非著名程式設計師

【回復「1024」,送你一個特別推送】


今天這篇文章應該算是Material Design系列的補充篇,因為這篇文章本來應該放到前面講的,因為講的是主題嘛,對於一些狀態和顏色的介紹,因為我們一新建一個項目時,系統自帶了三個屬性的顏色,現在就重點介紹這三個顏色屬性的意義和作用。講明白這個,留著以後講別的用。

最常用的三個顏色屬性

colorPrimary

colorPrimaryDark

colorAccent

這三個分別代表什麼意思呢?

文字描述可能還不是很直觀,來看張圖,如下:

其他屬性相關介紹

navigationBarColor 導航欄的背景色,但只能用在 API Level 21 以上的版本,也就是5.0以上才可以

windowBackground App 的背景色

colorControlNormal 這個也只能在API21以上才能用各控制元件的預設顏色和colorAccent正好對應

在Style上設置

以上的顏色屬性均是在 style 的屬性中設置。如下:

關於這些顏色的屬性介紹就到這裡了,相信大家應該都明白了。要是光講這些文章有點短,不太充實,所以今天我們再補充兩個非常簡單的 Material Design 風格的控制項,可能大家都知道了,知道的就不用看了哈,略過就好。

TextInputLayout

TextInputLayout繼承LinearLayout,因此我們需要將EditView包含在TextInputLayout之內才可以使用,言外之意:TextInputLayout不能單獨使用。裡面可以包含一個且只能有一個EditText,與傳統的EditText不同,在輸入時EditText的hint提示文字會滑到上方,在用戶輸入的同時提示用戶當前要輸入的是什麼,同時還可以設置輸入錯誤的提示信息。

代碼布局如下:

TextInputLayout常用的方法有如下:

setHint():設置提示語。

getEditText():得到TextInputLayout中的EditView控制項。

setErrorEnabled():設置是否可以顯示錯誤信息。

setError():設置當用戶輸入錯誤時彈出的錯誤信息。

特別注意:TextInputLayout不能單獨使用,必須包裹EditView組件,且只能一個,設置錯誤提示信息時一定要先setErrorEnabled(true);再設置setError()。

TextInputEditText

TextInputEditText和TextInputLayout類似,Design包還有一個組件TextInputEditText,它繼承了AppCompatEditText,可以在右側顯示出錯誤信息的小彈窗提示。用法和TextInputEditText類似,而且不用設置錯誤信息消除,重新在TextInputEditText輸出會自動取消,非常的靈活和人性化。

用法很簡單:

效果圖


到這裡今天的內容就講完了,Material Design系列其實還沒有完,今天講了主題樣式,下次就有可能講根據主題樣式設置夜間模式,還有以後的轉場動畫等內容。這個系列可能有些基礎,但是眾口難調還請大家理解,會的同學可以略過,不會的就好好學習。總之,都是為了大家更進一步。重口難調,還請大家理解。

這個系列的講解和實例都會整理在一個demo裡,demo的github地址:https://github.com/loonggg/MaterialDesignDemo 去star吧,我會慢慢完善的。

相關焦點

  • 20個非常棒的Material Design設計概念案例
    自從去年google在android新版本Lollipop提出的material design概念後,在世界各地瘋狂地掀起一陣material design熱。Material design不僅看起來令人驚嘆,也是一個前所未有的設計理念。不僅對設計師的影響深大,對開發人員亦是。現在普遍流行的應用程式都採用這種新的設計理念,並且android端上的APP也是採用material design這種設計理念。對於那些還尚未採用這種設計理念的App,這裡我提一些自己的概念。
  • Material Design之TextInputLayout和TextInputEditText
    Material Design 風格的文本框是用TextInputLayout 和TextInputEditText 兩個View來實現的,該類support design 包中。下面就來看一下TextInputLayout 的具體用法。
  • Material Design控制項使用(二)
    本篇接著之前的Material Design控制項總結(一)往下學習support design包下其餘控制項,如果對Material
  • Android-Iconics 開源庫介紹
    項目demo地址請點擊這裡:https://github.com/zjxuzhj/IconFontDemo一、添加依賴compile "com.mikepenz:iconics-core:2.8.2@aar"compile 'com.android.support:appcompat-v7:25.1.0'二
  • 最新優秀的通用Android應用架構:從建項目開始
    看瞎眼系列。推薦下列方式:appconfigmodelmodule——將界面層以功能模塊分配包。launchmainaccountnewsmusic……utilswidget2.配置主題對於不遵守Material Design的項目無視這一步。
  • Android設置選項開發及自定義Preference樣式
    本文主要說明兩個問題,層次較淺,重在總結和說明基本用法,懂的直接飄過吧。本文引用地址:http://www.eepw.com.cn/article/201609/304509.htm1. 為APP添加設置選項Android平臺上,為應用添加設置選項是個非常容易的事兒。這裡以PreferenceFragment為例進行演示,畢竟時代向前發展嘛。
  • Android開發必備的「80」個開源庫
    ://wiki.jikexueyuan.com/project/material-design/Android Weekly 中文版http://wiki.jikexueyuan.com/project/android-weekly/極客學院 Wiki Android 板塊http://wiki.jikexueyuan.com/list/android
  • material2 發布 7.0.1,Angular 的 Material Design 風格框架
    Angular 的 Material Design 風格框架 material2 發布了 7.0.1 版本,這主要是一個 bug 修復版本:Bug 修復
  • Android Support Library主要庫詳細介紹
    不可能去更新行動裝置中的android.jar吧,因為硬體設備集成的sdk版本是固定的,android.jar也是固定的,所以最好的方式是將新增的API以依賴包的形式集成到需要使用高版本API的應用程式中。  谷歌早已經考慮到了向後兼容的問題,所以推出了一系列脫離於android.jar的依賴包,比如常見的android-support-v4、appcompat-v7等。
  • 「MD規範」1.1-Material Design設計案例講解-Basil
    one 點設計-木木翻譯Basil是一個菜譜app,使用了MD設計組件和主題創造了一個令人激動和易於探索的品牌體驗。蒙板處理顏色Basil從水果和蔬菜中獲取靈感,採用了熱烈且豐富的色彩主題。· Basil的主色調是橄欖綠· Basil的輔助色是橘色
  • Android 代碼規範文檔
    應用圖標應該放在 mipmap 目錄下,其他圖片資源應當放到 drawable 目錄下,具體原因可以看谷歌官方文檔對這兩個文件夾給出的介紹:後臺返回的 id 值,不要使用 int 或者 long 類型來接收,而應該用 string 類型來接收,因為我們不需要對這個 id 值進行運算,所以我們不需要關心它是什麼類型的。
  • Android 多主題之坑
    關於 Android 多主題早前我也推薦過類似的文章,但這一篇,滿滿的都是各種填坑經驗,相信今後大家在做類似需求的時候會很有幫助,因此推薦給各位。作者透露將會在不久後開源文中提到的多主題框架,也是非常值得期待。年後重構了一版多主題框架,在重構過程中遇到了不少的坑,特此記錄下與君共勉。
  • 手機端iOS&Android模態界面對比【2019新版】
    官方地址:https://material.io/design/components/backdrop.html3.菜單(menus)菜單是在頁面上的一個臨時界面展示一系列選項官方地址:https://material.io/design/components/menus.html4.模態底部層(Modal bottom sheet)
  • Android進階系列之Support Annotation Library使用詳解
    SingleShu888的博客地址:http://blog.csdn.net/sw5131899Support Annotation Library是從Android Support Library 19.1開始引入的一個全新的函數包,它包含一系列有用的元註解,用來幫助開發者在編譯期間發現可能存在的bug。
  • 如何自學Android, 教大家玩爆Android
    (二)五大布局詳細介紹使用可以參考這篇博文: Android系統五大布局詳解Layout4.樣式開發drawable匯總篇 Android樣式的開發:View Animation篇 Android樣式的開發:Property Animation篇 Android樣式的開發:Style篇12.
  • 最新Android框架排行榜,上百項資源匯總!
    :一款服務於Android平臺的響應式編程框架上榜理由:google專門推出一套響應式編程框架服務於Android開發者,相比於之響應式編程框架榜首的 RxJava RxAndroid,它更輕量,兩者最大的不同點在於agera基於push event、pull data (VS Rx系列 push data)。
  • Android 學習資料收集
    本書從三個方面來組織內容: 第一, 介紹Android開發者不容易掌握的一些知識點: 第二,結合Android原始碼和應用層開發過程, 融會貫通, 介紹一些比較深入的知識點: 第三, 介紹一些核心技術和Android的性能優化思想.
  • What is design if not a way to tell a story (w/ Yasmine Evjen...
    That led her to turn to interaction design, and eventually evolving into UX design and Product Design.
  • 【史上最幹】Material Design複雜響應式設計
    改版開始之初,筆者了解到革客群體時,便認為理性加濃重Geek味道的Google風格或許是最適合Gekec.com的視覺體系,然而複雜的產品邏輯不能給用戶帶來高效的交互體驗和愉悅的使用感受,視覺上也並不能很好的通過Material Design推演並且變化,所以梳理出清晰、輕量且方便視覺統一的產品邏輯成為第一任務。
  • Android之自定義EditText光標和下劃線顏色
    2、自定義光標顏色EditText 有一個屬性:android:textCursorDrawable ,它就是用來設置光標樣式的。為了加深認識,大家先額外做個小實驗:將textCursorDrawable設置為@null,表示去除系統默認的樣式,但我們都記得隱藏光標的屬性是android:cursorVisible , 那麼這時光標會是什麼樣子的呢?