敞开成长之旅!这是我参与「日新方案 2 月更文应战」的第 1 天,点击检查活动详情

Material Design(原材料规划),简称MD。Android对MD的支持始于Android5.0,也便是API21,咱们一般做运用适配也是到API21,所以,适配的最旧的手机也是带Material Design的。这里我不得不给Google的良苦用心点个赞,自从Google向Apple手机美丽的UI体系建议应战,推出MD以来,那黑不溜秋且无法修正的状态栏就退出历史舞台了。

MD规划理念

体现更多的物理事件的特征,比如边缘的投影、层级清晰。颜色愈加鲜艳,动画作用愈加杰出,更有代入感,一会儿精气神都来了。最主要的是Google想统一Android UI的风格,咱们配合一下,哈哈哈。

为什么引荐运用MD

在公司的项目开发过程中,能用体系的控件就尽量运用体系的,因为体系控件具有更佳的性能和稳定性优势,且被广泛开发者所运用,有利于别人接手项目的开发。MD的控件由于是官方推出的,所以也作为体系控件的扩展控件来运用。

运用MD主题

1.依赖库

implementation 'com.google.android.material:material:1.7.0'

2.界说一个运用主题继承自MD的主题

<style name="Theme.MyApplication" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
</style>

MD主题颜色的名称

Android自定义View - Material Design

常用MD控件运用

Snackbar

// 常驻底部的提示信息
Snackbar.make(view, "青春常驻", Snackbar.LENGTH_INDEFINITE).show()
// 短时间消失的提示信息
Snackbar.make(view, "时间短而精彩", Snackbar.LENGTH_SHORT).show()
// 长一点时间消失的提示信息
Snackbar.make(view, "天保九如", Snackbar.LENGTH_LONG).show()

Android自定义View - Material Design
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>

Android自定义View - Material Design

当然,运用elevation属性

android:elevation="10dp"

也能够完成类似阴影作用。

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()

Android自定义View - Material Design

对美好的UI规划的无止境的追求

爱美之心人皆有之,咱们在业余时间,能够多关注官方的最新动态,看看官方出的最新的关于UI方面的相关类,一起来跟上时代潮流吧。