Android自定義View Material Design理念詳解
正文
Material Design(原材料設(shè)計(jì)),簡稱MD。Android對MD的支持始于Android5.0,也就是API21,我們一般做應(yīng)用適配也是到API21,所以,適配的最舊的手機(jī)也是帶Material Design的。這里我不得不給Google的良苦用心點(diǎn)個(gè)贊,自從Google向Apple手機(jī)美麗的UI系統(tǒng)發(fā)起挑戰(zhàn),推出MD以來,那黑不溜秋且無法修改的狀態(tài)欄就退出歷史舞臺了。
MD設(shè)計(jì)理念
體現(xiàn)更多的物理事件的特征,比如邊緣的投影、層級清晰。顏色更加鮮艷,動畫效果更加突出,更有代入感,一下子精氣神都來了。最主要的是Google想統(tǒng)一Android UI的風(fēng)格,我們配合一下,哈哈哈。
為什么推薦使用MD
在公司的項(xiàng)目開發(fā)過程中,能用系統(tǒng)的控件就盡量使用系統(tǒng)的,因?yàn)橄到y(tǒng)控件具有更佳的性能和穩(wěn)定性優(yōu)勢,且被廣泛開發(fā)者所使用,有利于別人接手項(xiàng)目的開發(fā)。MD的控件由于是官方推出的,所以也作為系統(tǒng)控件的擴(kuò)展控件來使用。
使用MD主題
1.依賴庫
implementation 'com.google.android.material:material:1.7.0'
2.定義一個(gè)應(yīng)用主題繼承自MD的主題
<style name="Theme.MyApplication" parent="Theme.MaterialComponents.DayNight.DarkActionBar"> </style>
MD主題顏色的名稱

常用MD控件使用
Snackbar
// 常駐底部的提示信息 Snackbar.make(view, "青春常駐", Snackbar.LENGTH_INDEFINITE).show() // 短時(shí)間消失的提示信息 Snackbar.make(view, "短暫而精彩", Snackbar.LENGTH_SHORT).show() // 長一點(diǎn)時(shí)間消失的提示信息 Snackbar.make(view, "長命百歲", Snackbar.LENGTH_LONG).show()

CardView
<androidx.cardview.widget.CardView
android:layout_width="100dp"
android:layout_height="60dp"
android:layout_centerInParent="true"
android:padding="10dp"
app:cardBackgroundColor="@color/cardview_shadow_end_color"
app:cardCornerRadius="4dp" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="卡片中的文字"/>
</androidx.cardview.widget.CardView>

當(dāng)然,使用elevation屬性
android:elevation="10dp"
也可以實(shí)現(xiàn)類似陰影效果。
BottomSheetDialog
val textView = TextView(this)
textView.layoutParams =
RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, 1000)
textView.gravity = Gravity.CENTER
textView.text = "BottomSheet Text"
val dialog = BottomSheetDialog(this)
dialog.setContentView(textView)
dialog.show()

對美好的UI設(shè)計(jì)的無止境的追求
愛美之心人皆有之,我們在業(yè)余時(shí)間,可以多關(guān)注官方的最新動態(tài),看看官方出的最新的關(guān)于UI方面的相關(guān)類,一起來跟上時(shí)代潮流吧。
以上就是Android自定義View Material Design理念詳解的詳細(xì)內(nèi)容,更多關(guān)于Android自定義View Material Design的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Android Bluetooth藍(lán)牙技術(shù)使用流程詳解
這篇文章主要介紹了Android Bluetooth藍(lán)牙技術(shù)使用流程詳解的相關(guān)資料,需要的朋友可以參考下2016-02-02
Android獲取驗(yàn)證碼倒計(jì)時(shí)顯示效果
這篇文章主要為大家詳細(xì)介紹了Android獲取驗(yàn)證碼顯示的兩種簡單實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10
Android中極簡的js與java的交互庫(SimpleJavaJsBridge)
本文主要介紹了Android中極簡的js與java的交互庫--SimpleJavaJsBridge,它可以讓js與java之間的通信更簡單。 具有很好的參考價(jià)值,下面跟著小編一起來看下吧2017-01-01
Android實(shí)現(xiàn)圖片一邊的三角形邊框效果
這篇文章主要介紹了Android實(shí)現(xiàn)圖片一邊的三角形邊框效果,本文圖文并茂通過實(shí)例代碼講解的非常詳細(xì),需要的朋友可以參考下2019-12-12
Android編程之Activity中onDestroy()調(diào)用分析
這篇文章主要介紹了Android編程之Activity中onDestroy()調(diào)用方法,針對onDestroy引起的內(nèi)存泄露及解決方法進(jìn)行了分析,并給出了解決方案,需要的朋友可以參考下2015-12-12
Android自定義控件深入學(xué)習(xí) Android生成隨機(jī)驗(yàn)證碼
這篇文章主要再次為大家介紹了Android自定義控件,以及針對自定義view學(xué)習(xí),實(shí)戰(zhàn)演練了Android生成隨機(jī)驗(yàn)證碼的詳細(xì)過程,感興趣的小伙伴們可以參考一下2016-01-01
解決genymotion模擬器無法聯(lián)網(wǎng)的正確方法100%成功
android 5.1版不能聯(lián)網(wǎng),三個(gè)步驟的設(shè)置就可以解決你的genymotion模擬器無法聯(lián)網(wǎng)的問題2018-03-03
Android實(shí)現(xiàn)側(cè)滑菜單DrawerLayout
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)側(cè)滑菜單DrawerLayout,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-05-05

