Material Design之自定义Material主题及Toolbar

Meterial Design之自定义Material主题及Toolbar

一、Android5.0/5.1新特性,使用Toolbar代替Actionbar,google推荐我们使用Toolbar。相对于Actionbar,Toolbar更加灵活,基本的实现跟Actionbar差不多。

Meterial Design的主题

@android:style/Theme.Material
@android:style/Theme.Material.Light
@android:style/Theme.Material.Light.DarkActionBar


Theme.AppCompat
Theme.AppCompat.Light
Theme.AppCompat.Light.DarkActionBar

二、首先,我们来看一来看下果图

Material Design之自定义Material主题及Toolbar_第1张图片

三、support.v7包给我们提供了兼容性的MeteialDesign的主题,如果你的API版本大于19(也就是android5.0),那么默认会显示Meterial Design的主题,否则则显示普通主题。

(一)project Structure中导入

Material Design之自定义Material主题及Toolbar_第2张图片

(二)在build.gradle中的dependencies下添加代码

compile 'com.android.support:cardview-v7:23.2'

四、可自定义主题

别忘了要把ActionBar禁用掉
,我这里使用的是在原来的属性上面自定义parent=”Theme.AppCompat.Light.NoActionBar”。

    
修改相对应的属性可更改主题颜色

Material Design之自定义Material主题及Toolbar_第3张图片>

五、在AndroidManifest.xml文件下的Activity或者Appication中使用主题

android:theme="@style/AppTheme"

#

六、在activity_main.xml文中使用v7包的toolbar

在布局头文件中定义 xmlns:app=”http://schemas.android.com/apk/res-auto”

.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:minHeight="?attr/actionBarSize"
            android:background="?attr/colorPrimary"

/>

android:minHeight=”?attr/actionBarSize”属性是定义系统默认的最小高度
要注意,使用该属性时要将android:layout_height的value定义成wrap_content,否则的话会呈现出系统高度加上layout_height的高度。

七、MainAcivity.class中的定义

        toolbar = (Toolbar) findViewById(R.id.toolbar);
        toolbar.setTitle(getString(R.string.app_name));
        setSupportActionBar(toolbar);
        getSupportActionBar().setDisplayHomeAsUpEnabled(tue);

这样就完成了自定义Material主题及Toolbar的使用

以上为个人的总结,疑问或者有不妥当之处,请指出

你可能感兴趣的:(Android)