action menu 样式

丘飞
2023-12-01

一、 actionbar style 中 修改 menu 字体样式

<style name="AppTheme" parent="@android:style/Theme.Holo.Light">
        <item name="android:actionMenuTextAppearance">@style/MenuTextStyle</item>
</style>

<style name="MenuTextStyle">
        <item name="android:textColor">@android:color/white</item>
        <item name="android:textSize">18sp</item>
</style>



<style name="TextAppearance.note.Title" parent="@android:style/TextAppearance.Material.Widget.ActionBar.Title">
         <item name="android:textColor">#ffffffff</item>
         <item name="android:textSize">16sp</item>
</style>

这里主要说明一个问题, menu 属性对应的是 actionMenuTextAppearance 这个属性 , 标题中的字对应的属性是 TextAppearance

我这里也有一些在代码中动态设置 actionbar属性 的方法 http://blog.csdn.net/kongbaidepao/article/details/52165687

二、 对 OptionsMenu 动态操作

onCreateOptionsMenu(Menu menu)
在一个Android创建菜单menu时,需要重写Activity的onCreateOptionsMenu(Menu menu)方法,(这个方法只在第一次创建的时候调用一次)

onPrepareOptionsMenu(Menu menu)
如果之后想对menu进行动态的修改,就要用到onPrepareOptionsMenu(Menu menu)方法了。

他在每次按下menu硬键之前会被调用,所以可以在这里动态的改变menu

public boolean onPrepareOptionsMenu(Menu menu) {
     super.onPrepareOptionsMenu(menu);

   //得到item 
   MenuItem aaa = menu.findItem(R.id.aaa);
   //操作
   menu.setEnable(true);

   //可以清除menu
   menu.clear();


   //添加
   menu.add(0,"1").setIcon(R.drawable.1);
   menu.add(0, 0, 0, "取消多选").setIcon(R.drawable.mms_multiple);

   return true;
  }

现在很多都已经用 toolbar了,其实说起toolbar, 就是 替代 actionbar 的另外一个产物, 所以下面这个属性修改以前的一些老项目时会用到而已

toolbar http://blog.csdn.net/kongbaidepao/article/details/49152971

 类似资料: