android studio toolbar 简单使用变换样式背景

来源:互联网 发布:长春知满天教育怎么样 编辑:程序博客网 时间:2024/04/29 11:58

原生的toolbar 

    <android.support.v7.widget.Toolbar android:id="@+id/toolbar"            android:layout_width="match_parent" android:layout_height="?attr/actionBarSize"            android:background="?attr/colorPrimary"            app:popupTheme="@style/AppTheme.PopupOverlay" />

如若变换背景颜色  文字颜色等 首先 打开values/styles.xml 更改 如下

    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">        <!-- Customize your theme here. -->        <!--toolbar color-->        <item name="colorPrimary">@color/primary</item>        <!--状态栏颜色-->        <item name="colorPrimaryDark">@color/primary_dark</item>        <item name="titleTextColor">#ffffff</item>        <item name="colorAccent">@color/accent</item>    </style>


再看  value

<?xml version="1.0" encoding="utf-8"?><resources>    <color name="primary">#F44336</color>    <color name="primary_dark">#D32F2F</color>    <color name="primary_light">#FFCDD2</color>    <color name="accent">#CDDC39</color>    <color name="primary_text">#212121</color>    <color name="secondary_text">#727272</color>    <color name="icons">#FFFFFF</color>    <color name="divider">#B6B6B6</color></resources>


而后前面改成

    <android.support.v7.widget.Toolbar android:id="@+id/toolbar"            android:layout_width="match_parent" android:layout_height="?attr/actionBarSize"            android:background="?attr/colorPrimary"            android:titleTextColor="?attr/titleTextColor"            app:popupTheme="@style/AppTheme.PopupOverlay" />
使文字颜色改变 按照此方法改

在toolar 添加控件  

更改 menu/main.xml 例如

<menu xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    xmlns:tools="http://schemas.android.com/tools"    tools:context=".MainActivity" >    <item        android:id="@+id/ab_search"        android:orderInCategory="80"        android:title="action_search"        app:actionViewClass="android.support.v7.widget.SearchView"        app:showAsAction="ifRoom"/>    <item        android:id="@+id/action_share"        android:orderInCategory="90"        android:title="action_share"        app:actionProviderClass="android.support.v7.widget.ShareActionProvider"        app:showAsAction="ifRoom"/>    <item        android:id="@+id/action_settings"        android:orderInCategory="100"        android:title="action_settings"        app:showAsAction="never"/></menu>

添加监听如下

mToolbar = (Toolbar) findViewById(R.id.toolbar);  // toolbar.setLogo(R.drawable.ic_launcher);   mToolbar.setTitle("Rocko");// 标题的文字需在setSupportActionBar之前,不然会无效   // toolbar.setSubtitle("副标题");   setSupportActionBar(mToolbar);  /* 这些通过ActionBar来设置也是一样的,注意要在setSupportActionBar(toolbar);之后,不然就报错了 */  // getSupportActionBar().setTitle("标题");   // getSupportActionBar().setSubtitle("副标题");   // getSupportActionBar().setLogo(R.drawable.ic_launcher);     /* 菜单的监听可以在toolbar里设置,也可以像ActionBar那样,通过Activity的onOptionsItemSelected回调方法来处理 */  mToolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {      @Override      public boolean onMenuItemClick(MenuItem item) {          switch (item.getItemId()) {          case R.id.action_settings:              Toast.makeText(MainActivity.this, "action_settings", 0).show();              break;          case R.id.action_share:              Toast.makeText(MainActivity.this, "action_share", 0).show();              break;          default:              break;          }          return true;      }  }); 






0 0
原创粉丝点击