Android 5.0新特性ToolBar

本文详细介绍了如何在Android应用中自定义主题,包括设置工具栏的颜色、状态栏颜色、窗口背景颜色及搜索视图样式,并通过代码展示了如何将自定义的Toolbar设置为ActionBar以实现丰富的UI效果。


<resources xmlns:android= "http://schemas.android.com/apk/res/android" >
     <style name= "AppBaseTheme"  parent= "Theme.AppCompat.Light.NoActionBar" >
         <!-- toolbar(actionbar)颜色 -->
         <item name= "colorPrimary" >#4876FF</item>
         <!-- 状态栏颜色 -->
         <item name= "colorPrimaryDark" >#3A5FCD</item>
         <!-- 窗口的背景颜色 -->
         <item name= "android:windowBackground" > @android :color/white</item>
         <!-- SearchView -->
         <item name= "searchViewStyle" > @style /MySearchViewStyle</item>
     </style>
     <style name= "AppTheme"  parent= "@style/AppBaseTheme" ></style>
     <style name= "MySearchViewStyle"  parent= "Widget.AppCompat.SearchView" >
     颜色的属性说明:

http://static.oschina.net/uploads/img/201507/28154408_iv9d.jpg



?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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 ;
}
});
 
 
上面关键的一点就是setSupportActionBar(mToolbar);把Toolbar当做ActionBar给设置了。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值