Material Design

MaterialDesign是一套全新的界面设计语言,包含视觉,运动,互动效果等特性.

Design Support库这个库将Material Design中最具有代表性的一些控件和效果进行了封装,使得开发者在即使不了解Material Design的情况下也能非常轻松地将自己的应用Material化.

Toolbar

Toolbar不仅继承了ActionBar的所有功能,而且灵活性很高,可以配合其他控件来完成一些MaterialDesign的效果.

将ActionBar取消并替换成Toolbar

ActionBar由于设计原因,被限定只能在活动的顶部,所以不能实现一些Material Design的效果,官方现在已经不建议使用ActionBar了.ActionBar其实是根据项目中指定的主题来显示的.打开AndroidManifest.xml .使用android:theme属性指定了一个AppTheme的主题

 

  android:allowBackup="true"

    android:icon="@mipmap/ic_launcher"

    android:label="Fruit"

    android:roundIcon="@mipmap/ic_launcher_round"

    android:supportsRtl="true"

  android:theme="@style/AppTheme">

AppTheme主题是在res/values/styles.xml文件中定义的(as中可以直接ctrl+鼠标左键来查看)

这里定义了一个叫AppTheme的主题然后指定它的parent主题是Theme.AppCompat.Light.DarkActionBar.这个DarkActionBar便是一个深色的ActionBar主题,我们之前所有项目中自带的ActionBar就是因为指定了这个主题才出现的.

如果我们要使用Toolbar来代替ActionBar,因此需要指定一个不带ActionBar的主题,通常有两种一种是Theme.AppCompat.NoActionBar另一种是Theme.AppCompat.Light.NoActionBar.

Material Design_第1张图片
1
Material Design_第2张图片
2

总结:将ActionBar设置成Toolbar的方法是将res/values/styles.xml文件中的parent设置一下,由之前的Theme.AppCompat.Light.DarkActionBar设置成Theme.AppCompat.NoActionBar/Theme.AppCompat.Light.NoActionBar.设置完成后会发生一个显著的变化即AppTheme中属性也随之发生了变化,比如colorPrimary和colorPrimaryDark和colorAccent;当然除了这三个属性以外我们还可以在