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

原生的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;  
    }  
}); 






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值