ToolBar的主题详解笔记

  1. <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
  2.     <item name="colorPrimary">@color/red</item> 
  3.     <item name="colorPrimaryDark">@color/green</item> 
  4.     <item name="colorAccent">@color/blue</item> 
  5.     <item name="android:textColorPrimary">@color/white</item> 
  6.     <item name="android:windowActionBar">false</item> 
  7.     <item name="android:windowNoTitle">true</item> 
  8.     <item name="windowActionBar">false</item> 
  9.     <item name="windowNoTitle">true</item> 
  10. </style> 
  • colorPrimaryDark是我们手机最顶端的状态栏的背景颜色(改变它需要Android5.0以及以上的手机支持才行)。
  • colorPrimary是指导航栏的颜色。
  • colorAccent是指我们常用控件比如Button等的颜色。
  • textColorPrimary是指我们导航栏中标题的颜色。
  • windowBackground是指我们窗体的默认颜色。
  • navigationBarColor是指Android手机中虚拟按键的背景颜色。  

以上来自http://mobile.51cto.com/android-541623.htm

        然后需要一个menu副标题的xml文件,toolbar_menu.xml,用来存储item

<item
android:id="id"    
android:title="标题"  
android:visiable="false"  
app:showAsAction ="ifRoom|withText"
/>
<item
android:id="id"    
android:title=""   
android:visiable="false"
app:showAsAction ="ifRoom|withText"
app:actionLayout = "@layout/item_menu_icon_text"
/>

actionLayout 指向了一个布局,可以在这个布局中定义你想要的控件;

item_menu_icon_text.xml

<TextView
android:id=""android:drawableTop="图片"android:text="文字"/>

就是一个上面图片下面文字的TextView

@Override    public boolean onCreateOptionsMenu(Menu menu) {        

getMenuInflater().inflate(R.menu.menu, menu);        
final MenuItem item = menu.findItem(R.id.action_edit);        
item.getActionView().setOnClickListener(new View.OnClickListener() {            
@Override            
public void onClick(View v) {                
onOptionsItemSelected(item);            
}       
 });      
  return super.onCreateOptionsMenu(menu);   
 }

注意引用actionLayout 之后Menuitem的点击事件要获取.getActionView();

以上就可以实现toolBar的文字和图片同时显示在副标题了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值