前言
MaterialDesin 已经发布那么长时间了,到今天项目中还没有使用到,好在迭代版本会进行尝试引入新的设计元素。下面内容方面日后快速进行索引。大牛,小牛请绕道。
新的元素
DrawerLayout,NavigationView,ToolBar
侧滑用到新组件
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI0gTMx81dsQWZ4lmZf1GLlpXazVmcvwFciV2dsQXYtJ3bm9CX9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCMy81dvRWYoNHLwEzX5xCMx8FesU2cfdGLwMzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5SN4QTN0gzM4gjYiJWN4QjNzYzX5MzMyETM0AzLcFTMyIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.png)
内容区域 用到新组件
内容页面用到的新组建
CoordinatorLayout,AppBarLayout,Toolsbar,FloatingActionButton
上面就是使用新版android studio 2.3 新建的一个模板用到MaterialDesign 新的控件
具体用法不进行赘述,网上已经被泛滥了。
组件部分2。
可折叠CollapsingToolbarLayout 配合NestedScrollView 实现可折叠滚动效果
上面效果ComponentTree
链接地址:javascript:void(0)
组件部分3
TabLayout +ViewPager实现指示效果
组件部分4
共享元素 支持 android sdk 21 +
既然是共享肯定不是一个界面
pageA 设置 共享元素 Name
intent.putExtra("bean", list.get(position));
view.setTransitionName("aaa");
ActivityOptions options = ActivityOptions
.makeSceneTransitionAnimation(MainActivity.this, view, "aaa");
// start the new activity
startActivity(intent, options.toBundle());
pageB 设置 共享元素 Name = PageA 共享元素
pageB布局中的某个组件和共享元素同名
效果图:
组件部分5
TextInputLayout,cardView
TextInputLayout 的相关属性
1.app:hintAnimationEnabled=”true”//设置是否可以使用动画,默认是true
2.app:hintTextAppearance=”@style/myStyle”//设置hint的文本属性,改变hint文字的大小颜色等属性
app:counterEnabled=”true”//设置是否可以开启计数器,默认是false
app:counterOverflowTextAppearance=”” 计算器越位后的文字颜色和大小
app:counterMaxLength=”“计算器的最大字数限制
app:errorEnabled=”true” 是否允许错误提示
app:errorTextAppearance=”” 错误提示的文字大小和颜色
app:passwordToggleEnabled=”true”显示小眼睛
app:passwordToggleTint=”@color/colorAccent” 给小眼睛上色
app:passwordToggleTintMode=”multiply”小眼睛的显示方式
需要注意的是:如果想要显示小眼睛,就需要在 TextInputEditText 或者 EditText 中设置 为密码格式。比如: android:inputType=”textPassword”
cardView
CardView继承自FrameLayout类,可以在一个卡片布局中一致性的显示内容,卡片可以包含圆角和阴影。
可以使用android:elevation属性,创建一个阴影的卡片。
怎样指定CardView的属性:
1、使用android:cardCornerRadius属性指定圆角半径
2、使用CardView.setRadius 设置圆角半径。
3、使用 android:cardBackgroundColor属性设置卡片颜色
在创建布局文件中创建CardView
组件部分6
沉浸式状态栏 与透明状态栏的区别(变色状态栏),以及理解上的一些误区。
上面输入透明状态栏