原文地址:http://sunjiajia.com/2015/06/19/android-material-theme-and-toolbar/


Android L+(即安卓5.0以上)的主题

  • 需要注意的是,5.0以上会多了一个Material的主题,一般使用的以下三个主题:
  1. @android:style/Theme.Material
  2. @android:style/Theme.Material.Light
  3. @android:style/Theme.Material.Light.DarkActionBar
  • 与之对应的向下(L-)即5.0以下的兼容Theme:
  1. Theme.AppCompat
  2. Theme.AppCompat.Light
  3. Theme.AppCompat.Light.DarkActionBar
  • 为了使用以上的功能,我会自己在style.xml添加一个自己的主题,并在全局引用,下面的itme用于覆盖指定的属性,这里需要注意,我们不要原本的ActionBar,所以使用的是NoActionBar的主题,这样才能添加ToolBar

        <style name="Theme.MyMaterialTheme"parent="Theme.AppCompat.Light.NoActionBar">         <item name="colorPrimary">#fd0000</item>        <item name="colorPrimaryDark">#fda200</item>        <item name="colorAccent">#FFFD00D7</item>        <item name="android:textColorPrimary">#FF0C26FD</item>    </style>
  • xml style属性:
    colorPrimaryDark:状态栏的颜色(可用来实现沉浸效果)
    colorPrimary: Toolbar的背景颜色 (xml中用android:background=”? attr/colorPrimary”指定)
    android:textColorPrimary:Toolbar中文字的颜色,设置后Menu Item的字体颜色也会跟随
    colorAccent:图中没有示例出来,这个是例如EditText正在输入时,RadioButton选中时的颜色(自己动手试下)

ToolBar的简单使用

   <!--创建Toolbar 需要设置全局的style -->    <android.support.v7.widget.Toolbar        android:id="@+id/toolbar"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:background="?attr/colorPrimary"        app:navigationIcon="@android:drawable/ic_menu_sort_by_size"        app:subtitle="Sub Title"        app:title="App Title" />

*其中的xml属性
app:title=”App Title”:Toolbar中的App Title
app:subtitle=”Sub Title” :Toobar中的小标题
app:navigationIcon=”@android:drawable/ic_menu_sort_by_size” : 导航图标(注意和Logo的区别)

*相应的Java也能控制ToolBar

        //注意:这个是使用ToolBar必须的,因为还是借用了Actionbar的位置去放置了toolBar        Toolbar toolBar = (Toolbar) findViewById(R.id.toolbar);        setSupportActionBar(toolBar);        toolBar.setTitle("人民大会堂");        toolBar.setSubtitle("天安门");        toolBar.setLogo(R.mipmap.ic_launcher);        toolBar.setNavigationIcon(android.R.drawable.ic_menu_sort_by_size);

最后的效果(注意若低于5.0,状态栏是不会变色的)

更多相关文章

  1. Android(安卓)顶部状态栏覆盖到应用之上?
  2. android字符串处理(Mms模块短信内容解析)
  3. Android(安卓)setbackgroundcolor()方法的使用
  4. Android布局控件的继承关系
  5. Android(安卓)tips3
  6. android 中调用ajax的问题
  7. 【Android】Spannable实现文字高亮
  8. android中自定义view构造函数ContentItemView(Context context,
  9. android 自定义属性

随机推荐

  1. Android常用布局(FrameLayout、LinearLayo
  2. android studio 如何打包jar(细节)
  3. Android(安卓)实现中文按拼音排序方法
  4. Android和H5、JS进行交互调用
  5. Android Studio自带的多渠道打包简单使用
  6. Android有望结束碎片化
  7. Android学习笔记2之基于XML的布局
  8. android 本地化[ICU4J Android 框架 API]
  9. Android(安卓)Crash 报告反馈
  10. 初学Android,"Hello World" 第一个Androi