天天看點

android端Material design筆記

顔色-樣式https://www.mdui.org/design/style/color.html#color-color-tool

布局–度量标準 & 關鍵線https://www.mdui.org/design/layout/metrics-keylines.html#metrics-keylines-keylines-spacing

一、Material Design新的特性

1、實體特性(高度、厚度)

2、陰影效果,增加了實體感

3、動畫接近于現實中的動作(水波效果、轉場特效等)

二、應用場景(都能用來做什麼)

1、Android中各種地方均可應用(Activity切換特效、沉浸式動畫效果、RecycleView各種效果)

三、新的元件

1、AppBarLayout

2、CoordinatorLayout

3、DrawerLayout、NavigationView

4、FloatingActionButton

5、SnackBar

6、BottomNavigationView

7、CollapsingToolbarLayout

8、TabLayout

9、TextInputLayout

四、基本思想:

1、Material Design是一種設計規範,旨在創造一種新的視覺設計語言,也就是所謂的實體感覺;

2、通過動畫等實作過渡平穩、設定高度實作立體感覺等

一、CoordinatorLayout:

1、Child: CooridnatorLayout的子View,需要進行變換的目标View

2、Dependency:CoordiantorLayout的子View,執行變換的View

3、Dependency發生了改變,會導緻Child進行改變,改變的效果及實作依賴于定制的BeHavior

4、應用于一個視圖的改變依賴于另一個視圖的改變(例如:狀态欄和内容欄互相依賴)

二、Toobar:完全替換ActionBar

三、AppBarLayout:

1、垂直方向的LinearLayout,用于設定子View實行的動作類型

2、子View屬性: app:layout_scrollFlags = scroll/enterAlways/exitUntilCollapsed/enterAlwaysCollapsed

2、與Toolbar一起使用可應用于“沉浸式”标題欄

四、CollapsingToolbarLayout:

1、用于包裝Toolbar,實作伸縮效果的App Bar效果

2、作為AppBarLayout的直接子視圖使用

 參考:https://blog.csdn.net/zhang999zhi/article/details/68482990

NestedScrollView

Material Design系列教程(5) - NestedScrollView 主要實作了這兩個接口NestedScrollingParent2和NestedScrollingChild2     https://www.jianshu.com/p/f55abc60a879

Android去掉可滑動控件滑動到邊緣的光暈效

android:overScrollMode="never" 參考:https://www.jianshu.com/p/48506a2c2784

解決NestedScrollView 布局不能撐滿螢幕 的問題

android:fillViewport="true"    參考:https://blog.csdn.net/shanshan_1117/article/details/84540333?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase

使用NestedScrollView時,子布局顯示出來往上走了

解決:在NestedScrollView的第一個子布局LinearLayout下添加:

android:focusable="true"

android:focusableInTouchMode="true" 參考:https://blog.csdn.net/haoxuhong/article/details/106000779

TabLayout https://blog.csdn.net/m0_37168878/article/details/73326095

https://www.jianshu.com/p/d35b5fa37b26    https://blog.csdn.net/shving/article/details/89075051

android.support.design:tabBackground — 設定的背景。 

android.support.design:tabContentStart — 相對起始位置tab的Y軸偏移量。 

android.support.design:tabGravity — tab的布局方式,兩個值GRAVITY_CENTER (内容中心顯示) 和 GRAVITY_FILL (内容盡可能充滿TabLayout)。 

android.support.design:tabIndicatorColor — 設定tab訓示器(tab的下劃線)的顔色。 

android.support.design:tabIndicatorHeight — 設定tab訓示器(tab的下劃線)的高度。 

android.support.design:tabMaxWidth — 設定tab頁籤的最大寬度。 

android.support.design:tabMinWidth — 設定tab頁籤的最小寬度。 

android.support.design:tabMode — 設定布局中tab頁籤的行為模式,兩個常量MODE_FIXED (固定的tab)和 MODE_SCROLLABLE(滑動的tab)。 

android.support.design:tabPadding — 設定tab的内邊距(上下左右)。 

android.support.design:tabPaddingBottom — 設定tab的底部内邊距。 

android.support.design:tabPaddingEnd — 設定tab的右側内邊距。 

android.support.design:tabPaddingStart — 設定tab的左側内邊距。 

android.support.design:tabPaddingTop — 設定tab的上方内邊距。 

android.support.design:tabSelectedTextColor — 設定tab被選中時的文本顔色。 

android.support.design:tabTextColor — 設定tab預設的文本顔色。 

android.support.design:tabTextAppearance — 設定tab的TextAppearance樣式的引用,可以引用另一個資源,形式為“@ [+] [package:] type / name”或主題屬性,格式為“?[package:] type / name”。。