Toolbar修改MenuItem字体颜色及布局
来源:互联网 发布:windows上安装hadoop 编辑:程序博客网 时间:2024/06/01 08:55
一、style方式
<style name="ToolBarStyle" parent="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> <item name="actionMenuTextColor">@android:color/white</item> <!-- 敲定颜色--> <item name="android:textSize">15sp</item> <!-- 搞掂字体大小--> <item name="android:textStyle">normal</item></style>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/colorPrimary" android:minHeight="?attr/actionBarSize" app:colorControlNormal="@android:color/white" app:navigationIcon="@drawable/back" app:theme="@style/ToolBarStyle">
二、ActionProvider方式(方式1一般写完之后全局都变了,如果需要动态更换或者个别地方更改则可以使用该方式)
public class MainActionProvider extends ActionProvider { TextView tvTitle; View.OnClickListener clickListener; public MainActionProvider(Context context) { super(context); } @Override public View onCreateActionView() { Log.e("toolbar-menu", "onCreateActionView"); tvTitle = new TextView(getContext()); ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.MATCH_PARENT); tvTitle.setLayoutParams(params); tvTitle.setGravity(Gravity.CENTER); tvTitle.setPadding(DensityUtils.dp2px(getContext(),10),0,DensityUtils.dp2px(getContext(),10),0); tvTitle.setText(R.string.exit); tvTitle.setBackgroundResource(R.drawable.half_translucent_selector); tvTitle.setTextColor(BSSUtils.getColor(R.color.red_exit)); tvTitle.setOnClickListener(clickListener); return tvTitle;//或者自己写的布局inflate为View } @Override public void onPrepareSubMenu(SubMenu subMenu) { } @Override public boolean hasSubMenu() { return true; } public void setonClickListener(View.OnClickListener listener){ clickListener = listener; } public void setTvTitle(String title){ tvTitle.setText(title); }}
在Activity中添加如下代码
@Override public boolean onPrepareOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main_menu, menu); mLogoutMenuItem = menu.findItem(R.id.logout); mLogoutMenuItem.setVisible(false);// mLogoutMenuItem.getActionView(); MainActionProvider actionProvider = (MainActionProvider) MenuItemCompat.getActionProvider(mLogoutMenuItem); actionProvider.setonClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //点击事件 } }); return true; } @Override public boolean onCreateOptionsMenu(Menu menu) { return super.onCreateOptionsMenu(menu); }
参考:http://blog.csdn.net/u011102153/article/details/53072105
阅读全文
0 0
- Toolbar修改MenuItem字体颜色及布局
- ToolBar修改menu item的字体颜色
- ToolBar 修改菜单字体和颜色
- ToolBar 修改菜单字体和颜色
- ToolBar修改menu item的字体颜色
- ToolBar 修改菜单字体和颜色
- ToolBar 如何修改菜单字体和颜色
- 修改NavigationView的MenuItem的字体颜色并修改默认选中的item
- 修改NavigationView的MenuItem的字体颜色并修改默认选中的item
- 改NavigationView的MenuItem的字体颜色并修改默认选中的item
- 改NavigationView的MenuItem的字体颜色并修改默认选中的item
- 关于修改Toolbar上menu的字体颜色的方法
- Toolbar修改字体颜色与添加返回键
- 修改Toolbar图标颜色
- C#中修改提示字体及颜色
- Toolbar改变字体颜色记录
- Design中NavigationView MenuItem选中字体Icon颜色
- iPhone手机美化篇--字体更改及字体颜色修改
- OpenCV提取视频中的每一帧sobel化保存到本地
- PHP页面静态化简介
- option 循环赋值
- OpenGL应用——实现边缘填充算法
- MySQL 5.7.9版本sql_mode=only_full_group_by问题
- Toolbar修改MenuItem字体颜色及布局
- Bzoj4870:SHOI2017-组合数问题
- Chrome 控制台console的用法
- 码工具通过ICP备案
- Java 日期/cron表达式 转换
- android的边框设置
- test
- Java 异步机制与同步机制的区别
- IOS Swift3.0 URLSession和Json解析