怎样修改toolbar 返回按钮颜色上面返回键的颜色?

状态栏设置,首页延伸,其他页面状态栏设置成toolbar背景颜色,怎么设置呀?
我使用systembartintmanager在mainactivity里面设置好后,因为要在首页fragment设置活动背景延伸到状态栏,所以设置fitSystemwindows = false,但是其它fragment的视图标题栏都覆盖到状态栏里了,怎么设置才能像百度外卖那样,首页延伸到状态栏,其它页面设置成toolbar背景色&img src=&/857cf1ebbe_b.jpg& data-rawwidth=&1536& data-rawheight=&2560& class=&origin_image zh-lightbox-thumb& width=&1536& data-original=&/857cf1ebbe_r.jpg&&&img src=&/3489fb7dfbcfb0_b.jpg& data-rawwidth=&1536& data-rawheight=&2560& class=&origin_image zh-lightbox-thumb& width=&1536& data-original=&/3489fb7dfbcfb0_r.jpg&&&img src=&/ea6bf8d2da397cfa45e4e7a27ff18d1e_b.png& data-rawwidth=&571& data-rawheight=&490& class=&origin_image zh-lightbox-thumb& width=&571& data-original=&/ea6bf8d2da397cfa45e4e7a27ff18d1e_r.png&&&img src=&/1cdb4be221a5_b.jpg& data-rawwidth=&1536& data-rawheight=&2560& class=&origin_image zh-lightbox-thumb& width=&1536& data-original=&/1cdb4be221a5_r.jpg&&
我使用systembartintmanager在mainactivity里面设置好后,因为要在首页fragment设置活动背景延伸到状态栏,所以设置fitSystemwindows = false,但是其它fragment的视图标题栏都覆盖到状态栏里了,怎么设置才能像百度外卖那样,首页延伸到状态栏,其它页面设置成toolbar背景色…
已有帐号?
无法登录?
社交帐号登录Android之toolbar的使用-爱编程
Android之toolbar的使用
Android在5.0的时候已经淘汰了ActionBar,取而代之的是叫做toolbar的东西,toolbar类似于一个控件,放在layout文件中,可以在layout文件中直接添加属性,也可以在代码findviewbyid之后设置属性,并且可以在toolbar的XML文件中添加别的TextView或者ImageView等控件,使用非常的灵活,可以说和一个布局文件没什么区别,为了兼容低版本的机型,现已加入V7兼容包,使用Toolbar必须要去掉ActionBar,不然会造成Toolbar在ActionBar的下面,然后使用setsupportActionBar(toolBar),ok,下面就来动手操作吧~~~~·
前期准备:
1、去掉ActionBar
2、在style文件中给Toolbar设置背景色
去掉ActionBar:在values文件夹中的style.xml文件中,设置主题为:Theme.AppCompat.Light.NoActionBar.
Toolbar设置颜色:在values文件夹中的style.xml文件中,添加item,来看看toolbar的布局分类
item中name表示的意思:
android:colorPrimary:给ActionBar设置颜色,如果要给toolbar设置颜色需要到layout文件中设置background属性。
android:colorPrimaryDark:给状态栏设置颜色。
android:textColorPrimary:toolbar中字体颜色。
colorAccent:toolbar中如果有可以选择的控件,比如radiobutton等,设置选择后的颜色。
准备工作完成后就是正式的使用了,先在Activity的布局文件中定义toolbar:
&?xml version=&1.0& encoding=&utf-8&?&
&RelativeLayout xmlns:android=&/apk/res/android&
android:layout_width=&match_parent&
android:layout_height=&match_parent&&
&android.support.v7.widget.Toolbar
android:id=&@+id/toolBar&
android:background=&#987&
android:layout_width=&match_parent&
android:layout_height=&wrap_content&&
&/android.support.v7.widget.Toolbar&
&/RelativeLayout&
在代码中:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
toolbar= (Toolbar) findViewById(R.id.toolBar);
toolbar.setLogo(R.mipmap.ic_launcher);
setSupportActionBar(toolbar);
style文件:
&resources&
&!-- Base application theme. --&
&style name=&AppTheme& parent=&Theme.AppCompat.Light.NoActionBar&&
&item name=&android:colorPrimary&&@color/colorPrimary&/item&
&item name=&android:colorPrimaryDark&&@color/colorPrimaryDark&/item&
&item name=&colorAccent&&@color/colorAccent&/item&
&item name=&android:textColorPrimary&&#f00&/item&
&/resources&
完成这些之后看下效果:
是不是有点丑呢??界面也够简单的,没关系,反正效果是出来了,下面我们就来对其进行美化。美化后的效果:
额,还是有点丑~~~~~,图片资源难找,凑合着看吧~~~~~~~~~~,加了一个Navigation和一个title还有一个menu,还记得ActionBar上面有个Menu创建方法和点击事件处理方法吗??没错,它们也可以用在toolbar上面,不需要任何改动,请看:
//创建Menu
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return super.onCreateOptionsMenu(menu);
//menu项的点击事件
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
Toast.makeText(MainActivity.this, &home&, Toast.LENGTH_LONG).show();
case R.id.action_settings:
Toast.makeText(MainActivity.this, &action_settings&, Toast.LENGTH_LONG).show();
return super.onOptionsItemSelected(item);
另外toolbar也新设置了一个方法取代上面的点击处理方法:
toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()){
case android.R.id.home:
Toast.makeText(MainActivity.this,&home&,Toast.LENGTH_LONG).show();
case R.id.action_settings:
Toast.makeText(MainActivity.this,&action_settings&,Toast.LENGTH_LONG).show();
});注:我使用这个方法的时候碰到一个问题就是第一个case没有执行,不知道为什么~~~~~~~·
其实toolbar总共分为4个部分:,第一个为导航图片,和ActionBar是一样的,第二个是一个Logo图标,第三个地方用来防止标题(可以同时放置一个主标题和一个副标题),第四部分就是menu的显示区域了,和actionBar是一样的。
感觉toolbar和actionbar的使用基本是一样的,除了比较灵活一点外,什么???你还没感觉到那里比较灵活???下面我来演示一个例子,将第三个部分显示title的地方用一个TextView来显示标题,哈哈这个actionbar做不到吧,下面来看怎么弄,先来到layout布局文件中找到toolbar控件的定义,修改为下面这种形式:
&?xml version=&1.0& encoding=&utf-8&?&
&RelativeLayout xmlns:android=&/apk/res/android&
android:layout_width=&match_parent&
android:layout_height=&match_parent&&
&android.support.v7.widget.Toolbar
android:id=&@+id/toolBar&
android:layout_width=&match_parent&
android:layout_height=&wrap_content&
android:background=&#1c8049&
android:gravity=&center&&
android:layout_width=&wrap_content&
android:layout_height=&wrap_content&
android:textSize=&15sp&
android:text=&TextView现实的标题& /&
&/android.support.v7.widget.Toolbar&
&/RelativeLayout&看效果图:
我这里只是给大家抛砖引玉,只要大家把toolbar当做一个控件来使用,我想你们一定会做出非常精美的toolbar出来~~~~~ok,就说到里吧,呼呼~每天写博客好累~~~~~~~~~·
最后附上Demo:demo下载
版权所有 爱编程 (C) Copyright 2012. . All Rights Reserved.
闽ICP备号-3
微信扫一扫关注爱编程,每天为您推送一篇经典技术文章。&img src=&/b2fdb5b8ccf_b.png& data-rawwidth=&572& data-rawheight=&153& class=&origin_image zh-lightbox-thumb& width=&572& data-original=&/b2fdb5b8ccf_r.png&&&br&不屏蔽statusBarColor的话就会出现下面的问题&br&&img src=&/5b87791b1dfc7d9fb69fb3d803b08bf9_b.png& data-rawwidth=&767& data-rawheight=&322& class=&origin_image zh-lightbox-thumb& width=&767& data-original=&/5b87791b1dfc7d9fb69fb3d803b08bf9_r.png&&屏蔽了的话NavBar又不能出现在状态栏下&br&&img src=&/a1e0e73df70e_b.png& data-rawwidth=&768& data-rawheight=&317& class=&origin_image zh-lightbox-thumb& width=&768& data-original=&/a1e0e73df70e_r.png&&有没有什么两全齐美的办法?
不屏蔽statusBarColor的话就会出现下面的问题屏蔽了的话NavBar又不能出现在状态栏下…
在布局文件,给你的toolbar添加如下属性试试android: fitsSystemWindows="true"
已有帐号?
无法登录?
社交帐号登录android:ToolBar详解(手把手教程)
这篇文章因为是台湾人写的,语言风格很别致。本文在原文的基础上做了一些微调(主要是繁体字的问题)。今年(2014) 的 google i/o 发表令多数人为之一亮的 material design,而 google 也从「google i/o 2014」 开始,大家也陆陆续续地看到其更新的 android app 皆套用了这个设计介面。当然,这个设计介面著实让大家感到惊艳外,更让 android 开发者开始担心未来 app 的界面处理了。不过,所幸有着之前 actionbar 的经验后,android 也很快地在 support library 里面提供了相对应的 api 给开发者使用,本篇就为各位介绍 C toolbar,这是用来取代过去 actionbar 的控件,而现在于 material design 中也对之有一个统一名称:app bar,在未来的 android app 中,就以 toolbar 这个元件来实作之。1. 概述Android 3.0 &Android 推了 ActionBar 这个控件,而到了2013 年 Google 开始大力地推动所谓的 android style,想要逐渐改善过去 android 纷乱的界面设计,希望让终端使用者尽可能在 android 手机有个一致的操作体验。ActionBar 过去最多人使用的两大套件就是 ActionBarSherlock 以及官方提供在 support library v 7 里的 AppCompat。既然会有本篇跟各位介绍的 Toolbar,也意味着官方在某些程度上认为 ActionBar 限制了 android app 的开发与设计的弹性,而在 material design 也对之做了名称的定义:App bar。接下来将为各位分成几个阶段进行说明,如何在 android app 中用 toolbar 这个控件来做出一个基本的 app bar 喽。
本篇所使用到的程序请到
取得。2. 基础套用这个阶段从 toolbar_demo_checkpoint0 开始,分成下列三个部份:风格 (style)界面 (layout)程序 (java)2.1 风格(style)风格要调整的地方有二一在 res/values/styles.xml中二在 /res/values-v21/styles.xml中为了之后设定方便,我们先在 res/values/styles.xml 里增加一个名为 AppTheme.Base 的风格&style&name=&AppTheme.Base&&parent=&Theme.AppCompat&&
&&&item&name=&windowActionBar&&false&/item&
&&&item&name=&android:windowNoTitle&&true&/item&
&/style&因为此范例只使用 Toolbar,所以我们要将让原本的 ActionBar 隐藏起来,然后将原本 AppTheme 的 parent 属性 改为上面的AppTheme.Base,代码如下:&resources&
&&&!--&Base&application&theme.&--&
&&&style&name=&AppTheme&&parent=&AppTheme.Base&&
&&&/style&
&&&style&name=&AppTheme.Base&&parent=&Theme.AppCompat&&
&&&&&item&name=&windowActionBar&&false&/item&
&&&&&del&&item&name=&android:windowNoTitle&&true&/item&&/del&
&&&&&!--&使用&API&Level&22&g的,要拿掉前Y字&--&
&&&&&item&name=&windowNoTitle&&true&/item&
&&&/style&
&/resources&再来调整Android 5.0的style: &/res/values-v21/styles.xml,也将其 parent 属性改为 &AppTheme.Base:&?xml&version=&1.0&&encoding=&utf-8&?&
&resources&
&&&&&style&name=&AppTheme&&parent=&AppTheme.Base&&
&&&&&/style&
&/resources&2.2 &界面(Layout)在 activity_main.xml 里面添加 Toolbar 控件:&android.support.v7.widget.Toolbar
&&android:id=&@+id/toolbar&
&&android:layout_height=&?attr/actionBarSize&
&&android:layout_width=&match_parent&&&
&/android.support.v7.widget.Toolbar&请记得用 support v7 里的 toolbar,不然然只有 API Level 21 也就是 Android 5.0 以上的版本才能使用。这里需注意,要将 RelatvieLayout 里的四个方向的padding 属性去掉,并记得将原本的 Hello World 设为 layout_below=&@+id/toolbar& ,否则会看到像下面这样的错误画面。2.3 程序 (Java)在 MainActivity.java 中加入 Toolbar 的声明:Toolbar&toolbar&=&(Toolbar)&findViewById(R.id.toolbar);
setSupportActionBar(toolbar);声明后,再将之用 setSupportActionBar 设定,Toolbar即能取代原本的 actionbar 了,此阶段完成画面如下:完整代码见:3. 自定义颜色(Customization color)这个阶段将从
接着往下进行:上图是将本阶段要完成的结果画面做了标示,结合下面的描述希望大家能明白。colorPrimaryDark(状态栏底色):在风格 (styles) 或是主题 (themes) 里进行设定。App bar 底色这个设定分为二,若你的 android app 仍是使用 actionbar ,则直接在风格 (styles) 或是主题 (themes) 里进行设定 colorPrimary 参数即可;可若是采用 toolbar 的话,则要在界面 (layout) 里面设定 toolbar 控件的 background 属性。navigationBarColor(导航栏底色):仅能在 API v21 也就是 Android 5 以后的版本中使用, 因此要将之设定在 res/values-v21/styles.xml 里面。主视窗底色:windowBackground也因此在这个阶段,我们需要设定的地方有三,一是 style中(res/values/styles.xml)&style&name=&AppTheme.Base&&parent=&Theme.AppCompat&&
&&&item&name=&windowActionBar&&false&/item&
&&&item&name=&android:windowNoTitle&&true&/item&
&&&!--&Actionbar&color&--&
&&&item&name=&colorPrimary&&@color/accent_material_dark&/item&
&&&!--Status&bar&color--&
&&&item&name=&colorPrimaryDark&&@color/accent_material_light&/item&
&&&!--Window&color--&
&&&item&name=&android:windowBackground&&@color/dim_foreground_material_dark&/item&
&/style&再来是 v21 的style中 (res/values-v21/styles.xml)&style&name=&AppTheme&&parent=&AppTheme.Base&&
&&&!--Navigation&bar&color--&
&&&item&name=&android:navigationBarColor&&@color/accent_material_light&/item&
&/style&最后,就是为了本篇的主角 C Toolbar 的 background 进行设定。&android.support.v7.widget.Toolbar
&&android:id=&@+id/toolbar&
&&android:layout_height=&?attr/actionBarSize&
&&android:layout_width=&match_parent&
&&android:background=&?attr/colorPrimary&&&
&/android.support.v7.widget.Toolbar&在本范例中,toolbar 是设定来在 activity_main.xml,对其设定 background 属性: android:background=&?attr/colorPrimary& ,这样就可以使之延用 Actionbar 的颜色设定喽。最后,再来看一下结果画面。完整代码见: 4. 控件 (component)本阶段将从
接续,在还未于 &android.support.v7.widget.Toolbar/& &标签中,自行添加元件的 toolbar 有几个大家常用的元素可以使用,请先见下图:大抵来说,预设常用的几个元素就如图中所示,接着就依序来说明之:setNavigationIcon即设定 up button 的图标,因为 Material 的介面,在 Toolbar这里的 up button样式也就有e于过去的 ActionBar 哦。setLogoAPP 的图标。setTitle主标题。setSubtitle副标题。setOnMenuItemClickListener设定菜单各按o的动作。先来看看菜单外的代码,在 MainActivity.java 中:Toolbar&toolbar&=&(Toolbar)&findViewById(R.id.toolbar);
//&App&Logo
toolbar.setLogo(R.drawable.ic_launcher);
toolbar.setTitle(&My&Title&);
//&Sub&Title
toolbar.setSubtitle(&Sub&title&);
setSupportActionBar(toolbar);
//&Navigation&Icon&要O定在&setSupoortActionBar&才有作用
//&否t霈F&back&button
toolbar.setNavigationIcon(R.drawable.ab_android);这边要留意的是setNavigationIcon需要放在 setSupportActionBar之后才会生效。菜单部分,需要先在res/menu/menu_main.xml左定义:&menu&xmlns:android=&/apk/res/android&
&&&&&&xmlns:app=&/apk/res-auto&
&&&&&&xmlns:tools=&/tools&
&&&&&&tools:context=&.MainActivity&&
&&&item&android:id=&@+id/action_edit&
&&&&&&&&android:title=&@string/action_edit&
&&&&&&&&android:orderInCategory=&80&
&&&&&&&&android:icon=&@drawable/ab_edit&
&&&&&&&&app:showAsAction=&ifRoom&&/&
&&&item&android:id=&@+id/action_share&
&&&&&&&&android:title=&@string/action_edit&
&&&&&&&&android:orderInCategory=&90&
&&&&&&&&android:icon=&@drawable/ab_share&
&&&&&&&&app:showAsAction=&ifRoom&&/&
&&&item&android:id=&@+id/action_settings&
&&&&&&&&android:title=&@string/action_settings&
&&&&&&&&android:orderInCategory=&100&
&&&&&&&&app:showAsAction=&never&/&
&/menu&再回到MainActivity.java 中加入OnMenuItemClickListener 的监听者:private&Toolbar.OnMenuItemClickListener&onMenuItemClick&=&new&Toolbar.OnMenuItemClickListener()&{
&&@Override
&&public&boolean&onMenuItemClick(MenuItem&menuItem)&{
&&&&String&msg&=&&&;
&&&&switch&(menuItem.getItemId())&{
&&&&&&case&R.id.action_edit:
&&&&&&&&msg&+=&&Click&edit&;
&&&&&&case&R.id.action_share:
&&&&&&&&msg&+=&&Click&share&;
&&&&&&case&R.id.action_settings:
&&&&&&&&msg&+=&&Click&setting&;
&&&&if(!msg.equals(&&))&{
&&&&&&Toast.makeText(MainActivity.this,&msg,&Toast.LENGTH_SHORT).show();
&&&&return&
};将onMenuItemClick监听者设置给toolbarsetSupportActionBar(toolbar);
//&Menu&item&click&的O事件一右O定在&setSupportActionBar&才有作用
toolbar.setOnMenuItemClickListener(onMenuItemClick);和 setNavigationIcon 一样,需要⒅瓒ㄔ setSupportActionBar 之后才有作用。执行上面的代码便会得到下面的界面。完完整程序见:5. 总结在这样的架构设计下,ToolBar直接成了Layout中可以控制的东西,相对于过去的actionbar来说,设计与可操控性大幅提升。本文上面的解释中用到的完成代码:toolbar demo check point 0 ~ 4,请到 取得。最后再附上一个界面上常用的属性说明图:这里按照图中从上到下的顺序做个简单的说明:colorPrimaryDark状态栏背景色。在 style 的属性中设置。textColorPrimaryApp bar 上的标题与更多菜单中的文字颜色。在 style 的属性中设置。App bar 的背景色Actionbar 的背景色设定在 style 中的 colorPrimary。Toolbar 的背景色在layout文件中设置background属性。colorAccent各控制元件(如:check box、switch 或是 radoi) 被勾选 (checked) 或是选定 (selected) 的颜色。在 style 的属性中设置。colorControlNormal各控制元件的预设颜色。在 style 的属性中设置windowBackgroundApp 的背景色。在 style 的属性中设置navigationBarColor导航栏的背景色,但只能用在 API Level 21 (Android 5) 以上的版本在 style 的属性中设置最后需要注意的是:使用material主题的时候,必须设定targetSdkVersion = 21,否则界面看起来是模糊的 & & & & & & & & & & & & & & & &
上一篇: 通常情况下,下载Android SDK需要连接谷歌的服务器进行下载,由于国内水深火热的网络,速度基本为0.好在国内也有一个更新的镜像地址。本文章介绍如何在不翻墙的情况下,使用国内镜像地址,更新android sdk. 设置host 首先在etc/hosts中设置hosts,需要管理员
下一篇: 修正开源项目TableFixHeaders滑动不流畅的问题,有需要的朋友可以参考下。TableFixHeaders项目介绍: /a/opensource/70.html 最近因为项目的原因,使用了TableFixHeaders来处理表格数据,却遇到了左右,上下滑动时,不够使用Toolbar + DrawerLayout快速实现高大上菜单侧滑
原文地址:如果你有在关注一些遵循最新的Material Design设计规范的应用的话(如果没有,假设你有!),也许会发现有很多使用了看起来很舒服、很高大上的侧滑菜单动画效果,示例如下(via 参考2):今天就来使用官方支持库来快速实现这类效果,需要使用到Toolbar和DrawerLayout,详细步骤如下:(如果你还不知道这两个Widget,先自己Google吧~)
1.首先需要添加appcompat-v7支持如果是在Android Studio 1.0 RC4上创建的项目,默认已经添加了appcompat-v7支持了,如果不是最新版AS则需要在build.gradle中添加如下代码:dependencies&{
&&&&...//其他代码
&&&&compile&'com.android.support:appcompat-v7:21.0.2'
}添加完成后需要同步一下gradle2.添加Toolbar由于Toolbar是继承自View,所以可以像其他标准控件一样直接主布局文件添加Toolbar,但是为了提高Toolbar的重用效率,可以在layout创建一个custom_toolbar.xml代码如下:&?xml&version=&1.0&&encoding=&utf-8&?&
&&&&&android.support.v7.widget.Toolbar&xmlns:android=&/apk/res/android&
&&&&&&&&xmlns:app=&/apk/res-auto&
&&&&&&&&android:id=&@+id/tl_custom&
&&&&&&&&android:layout_width=&match_parent&
&&&&&&&&android:layout_height=&wrap_content&
&&&&&&&&android:background=&?attr/colorPrimary&
&&&&&&&&android:minHeight=&?attr/actionBarSize&
&&&&&&&&android:popupTheme=&@style/ThemeOverlay.AppCompat.Light&
&&&&&&&&app:theme=&@style/ThemeOverlay.AppCompat.ActionBar&&
&/android.support.v7.widget.Toolbar&说明:android.support.v7.widget.Toolbar - 当然如果只在Lollipop中可以直接使用Toolbar而不需要加上v7支持xmlns:app - 自定义xml命名控件,在AS中可以直接指定res-auto而不需要使用完整包名android:background 和 android:minHeight 均可以在styles.xml中声明2.添加DrawerLayout和Toolbar类似,为了提高代码重用效率,可以在layout中创建一个custom_drawerlayout.xml代码如下:&?xml&version=&1.0&&encoding=&utf-8&?&
&&&&&android.support.v4.widget.DrawerLayout&xmlns:android=&/apk/res/android&
&&&&&&&&android:id=&@+id/dl_left&
&&&&&&&&android:layout_width=&match_parent&
&&&&&&&&android:layout_height=&match_parent&&
&&&&&!--主布局--&
&&&&&LinearLayout
&&&&&&&&android:layout_width=&match_parent&
&&&&&&&&android:layout_height=&match_parent&&
&&&&&&&&&ImageView
&&&&&&&&&&&&android:id=&@+id/iv_main&
&&&&&&&&&&&&android:layout_width=&100dp&
&&&&&&&&&&&&android:layout_height=&100dp&&/&
&&&&&/LinearLayout&
&&&&&!--侧滑菜单--&
&&&&&LinearLayout
&&&&&&&&android:layout_width=&match_parent&
&&&&&&&&android:layout_height=&match_parent&
&&&&&&&&android:background=&#fff&
&&&&&&&&android:layout_gravity=&start&&
&&&&&&&&&ListView
&&&&&&&&&&&&android:id=&@+id/lv_left_menu&
&&&&&&&&&&&&android:layout_width=&match_parent&
&&&&&&&&&&&&android:layout_height=&match_parent&
&&&&&&&&&&&&android:divider=&@null&
&&&&&&&&&&&&android:text=&DrawerLayout&&/&
&&&&&/LinearLayout&
&/android.support.v4.widget.DrawerLayout&Drawerlayout标签中有两个子节点,一个是左边菜单,一个是主布局,另外需要在左边菜单起始位置设置为android:layout_gravity=&start&3.实现activity_main.xml&LinearLayout&xmlns:android=&/apk/res/android&
&&&&xmlns:tools=&/tools&
&&&&android:layout_width=&match_parent&
&&&&android:layout_height=&match_parent&
&&&&android:orientation=&vertical&
&&&&tools:context=&.MainActivity&&
&&&&&&&&&!--Toolbar--&
&&&&&&&&&include&layout=&@layout/custom_toolbar&&/&
&&&&&&&&&!--DrawerLayout--&
&&&&&&&&&include&layout=&@layout/custom_drawerlayout&&/&
&/LinearLayout&直接使用include标签,简洁明了4.完善Java代码public&class&MainActivity&extends&ActionBarActivity&{
&&&&//声明相关变量
&&&&private&Toolbar&
&&&&private&DrawerLayout&mDrawerL
&&&&private&ActionBarDrawerToggle&mDrawerT
&&&&private&ListView&lvLeftM
&&&&private&String[]&lvs&=&{&List&Item&01&,&&List&Item&02&,&&List&Item&03&,&&List&Item&04&};
&&&&private&ArrayAdapter&arrayA
&&&&private&ImageView&ivRunningM
&&&&private&AnimationDrawable&mAnimationD
&&&&@Override
&&&&protected&void&onCreate(Bundle&savedInstanceState)&{
&&&&&&&&super.onCreate(savedInstanceState);
&&&&&&&&setContentView(R.layout.activity_main);
&&&&&&&&findViews();&//获取控件
&&&&&&&&//京东RunningMan动画效果,和本次Toolbar无关
&&&&&&&&mAnimationDrawable&=&(AnimationDrawable)&ivRunningMan.getBackground();
&&&&&&&&mAnimationDrawable.start();
&&&&&&&&toolbar.setTitle(&Toolbar&);//设置Toolbar标题
&&&&&&&&toolbar.setTitleTextColor(Color.parseColor(&#ffffff&));&//设置标题颜色
&&&&&&&&setSupportActionBar(toolbar);
&&&&&&&&getSupportActionBar().setHomeButtonEnabled(true);&//设置返回键可用
&&&&&&&&getSupportActionBar().setDisplayHomeAsUpEnabled(true);
&&&&&&&&//创建返回键,并实现打开关/闭监听
&&&&&&&&mDrawerToggle&=&new&ActionBarDrawerToggle(this,&mDrawerLayout,&toolbar,&R.string.open,&R.string.close)&{
&&&&&&&&&&&&@Override
&&&&&&&&&&&&public&void&onDrawerOpened(View&drawerView)&{
&&&&&&&&&&&&&&&&super.onDrawerOpened(drawerView);
&&&&&&&&&&&&&&&&mAnimationDrawable.stop();
&&&&&&&&&&&&}
&&&&&&&&&&&&@Override
&&&&&&&&&&&&public&void&onDrawerClosed(View&drawerView)&{
&&&&&&&&&&&&&&&&super.onDrawerClosed(drawerView);
&&&&&&&&&&&&&&&&mAnimationDrawable.start();
&&&&&&&&&&&&}
&&&&&&&&};
&&&&&&&&mDrawerToggle.syncState();
&&&&&&&&mDrawerLayout.setDrawerListener(mDrawerToggle);
&&&&&&&&//设置菜单列表
&&&&&&&&arrayAdapter&=&new&ArrayAdapter(this,&android.R.layout.simple_list_item_1,&lvs);
&&&&&&&&lvLeftMenu.setAdapter(arrayAdapter);
&&&&private&void&findViews()&{
&&&&&&&&ivRunningMan&=&(ImageView)&findViewById(R.id.iv_main);
&&&&&&&&toolbar&=&(Toolbar)&findViewById(R.id.tl_custom);
&&&&&&&&mDrawerLayout&=&(DrawerLayout)&findViewById(R.id.dl_left);
&&&&&&&&lvLeftMenu&=&(ListView)&findViewById(R.id.lv_left_menu);
}5.当然比较重要还有styles.xml和colors.xml,具体如下&
&resources&
&&&&&style&name=&AppTheme&&parent=&Theme.AppCompat.Light.NoActionBar&&
&&&&&&&&&!--状态栏颜色--&
&&&&&&&&&item&name=&colorPrimaryDark&&@color/Indigo_colorPrimaryDark&/item&
&&&&&&&&&!--Toolbar颜色--&
&&&&&&&&&item&name=&colorPrimary&&@color/Indigo_colorPrimary&/item&
&&&&&&&&&!--返回键样式--&
&&&&&&&&&item&name=&drawerArrowStyle&&@style/AppTheme.DrawerArrowToggle&/item&
&&&&&&&&&/style&
&&&&&&&&&style&name=&AppTheme.DrawerArrowToggle&&parent=&Base.Widget.AppCompat.DrawerArrowToggle&&
&&&&&&&&&item&name=&color&&@android:color/white&/item&
&&&&&/style&
&/resources&
&?xml&version=&1.0&&encoding=&utf-8&?&
&resources&
&&&&&color&name=&Indigo_colorPrimaryDark&&#303f9f&/color&
&&&&&color&name=&Indigo_colorPrimary&&#3f51b5&/color&
&&&&&color&name=&Indigo_nav_color&&#4675FF&/color&
&/resources&到此就实现了高大上菜单侧滑,最终效果如下(注:在Yosemite上貌似直接Record手机屏幕貌似不起作用,而且动画由于帧率原因无法实时,就先这样看吧~)参考列表欢迎大家关注我的微博和微信公众号,提出你的意见和建议,也可以直接在下面发表评论哦~
上一篇: 今天在阅读Wordpress for android 的源代码的时候看到这个。 之前项目中未曾用过,google了一下发现很有用。写篇blog记录下。 /***enablesstrictmodefortesting-shouldNEVERbeusedinreleasebuilds*/@TargetApi(Build.VERSION_CODES.JELLY_BEAN)privatestatic
下一篇: 出自xiaanming的博客( http://blog.csdn.net/xiaanming/article/details/ ) 相信大家使用多点对图片进行缩放,平移的操作很熟悉了,大部分大图的浏览都具有此功能,有些app还可以对图片进行旋转操作,QQ的大图浏览就可以对图片进行旋转操作,大家

我要回帖

更多关于 toolbar 返回按钮监听 的文章

 

随机推荐