Android自定義View Material Design理念詳解
正文
Material Design(原材料設計),簡稱MD。Android對MD的支持始于Android5.0,也就是API21,我們一般做應用適配也是到API21,所以,適配的最舊的手機也是帶Material Design的。這里我不得不給Google的良苦用心點個贊,自從Google向Apple手機美麗的UI系統(tǒng)發(fā)起挑戰(zhàn),推出MD以來,那黑不溜秋且無法修改的狀態(tài)欄就退出歷史舞臺了。
MD設計理念
體現(xiàn)更多的物理事件的特征,比如邊緣的投影、層級清晰。顏色更加鮮艷,動畫效果更加突出,更有代入感,一下子精氣神都來了。最主要的是Google想統(tǒng)一Android UI的風格,我們配合一下,哈哈哈。
為什么推薦使用MD
在公司的項目開發(fā)過程中,能用系統(tǒng)的控件就盡量使用系統(tǒng)的,因為系統(tǒng)控件具有更佳的性能和穩(wěn)定性優(yōu)勢,且被廣泛開發(fā)者所使用,有利于別人接手項目的開發(fā)。MD的控件由于是官方推出的,所以也作為系統(tǒng)控件的擴展控件來使用。
使用MD主題
1.依賴庫
implementation 'com.google.android.material:material:1.7.0'
2.定義一個應用主題繼承自MD的主題
<style name="Theme.MyApplication" parent="Theme.MaterialComponents.DayNight.DarkActionBar"> </style>
MD主題顏色的名稱
常用MD控件使用
Snackbar
// 常駐底部的提示信息 Snackbar.make(view, "青春常駐", Snackbar.LENGTH_INDEFINITE).show() // 短時間消失的提示信息 Snackbar.make(view, "短暫而精彩", Snackbar.LENGTH_SHORT).show() // 長一點時間消失的提示信息 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>
當然,使用elevation屬性
android:elevation="10dp"
也可以實現(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設計的無止境的追求
愛美之心人皆有之,我們在業(yè)余時間,可以多關注官方的最新動態(tài),看看官方出的最新的關于UI方面的相關類,一起來跟上時代潮流吧。
以上就是Android自定義View Material Design理念詳解的詳細內容,更多關于Android自定義View Material Design的資料請關注腳本之家其它相關文章!