自定义Actionbar
2015-06-02 17:15
218 查看
最近在项目中大量使用actionbar,所以把自定义的一些属性总结一下。
效果如下:
1、自定义actionbar
在theme的style中设置
2、自定义返回按钮图标
3、自定义标题样式
这个需要设置actionbar的属性android:titleTextStyle
4、item字体设置
5、自定义overflow按钮图标
6、设置overflow的item显示文字和图标
menu
还需要重写onMenuOpened方法
下载源码:http://download.csdn.net/detail/zhong1113/8765119
效果如下:
1、自定义actionbar
在theme的style中设置
[code]<item name="android:actionBarStyle">@style/CustomActionBar</item>
[code] <!-- actionbar样式 --> <style name="CustomActionBar" parent="@android:style/Widget.Holo.ActionBar"> <item name="android:background">#fb6029</item> <item name="android:displayOptions">showTitle</item> <item name="android:titleTextStyle">@style/TitleSytle</item> </style>
2、自定义返回按钮图标
[code] <item name="android:homeAsUpIndicator">@drawable/navbar_back</item>
3、自定义标题样式
这个需要设置actionbar的属性android:titleTextStyle
[code] <style name="TitleSytle" parent="@android:style/TextAppearance.Large"> <item name="android:textColor">@android:color/white</item> <item name="android:textSize">19sp</item> <item name="android:layout_marginLeft">5dp</item> </style>
4、item字体设置
[code]<item name="android:itemTextAppearance">@style/itemTextStyle</item>
[code] <style name="itemTextStyle"> <item name="android:textColor">@android:color/holo_blue_bright</item> </style>
5、自定义overflow按钮图标
[code] <item name="android:actionOverflowButtonStyle">@style/OverflowButtonStyle</item>
[code] <style name="OverflowButtonStyle"> <item name="android:src">@drawable/actionbar_add_icon</item> </style>
6、设置overflow的item显示文字和图标
menu
[code]<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" tools:context="com.example.edittextdemo.MainActivity" > <item android:id="@+id/action_add_friend" android:icon="@drawable/menu_add_icon" android:title="@string/menu_addfriend"/> <item android:id="@+id/action_scan" android:icon="@drawable/men_scan_icon" android:title="@string/menu_scan"/> <item android:id="@+id/action_feedback" android:icon="@drawable/menu_feedback_icon" android:title="@string/menu_feedback"/> </menu>
还需要重写onMenuOpened方法
[code] @Override public boolean onMenuOpened(int featureId, Menu menu) { if (featureId == Window.FEATURE_ACTION_BAR && menu != null) { if (menu.getClass().getSimpleName().equals("MenuBuilder")) { try { Method m = menu.getClass().getDeclaredMethod( "setOptionalIconsVisible", Boolean.TYPE); m.setAccessible(true); m.invoke(menu, true); } catch (Exception e) { e.printStackTrace(); } } } return super.onMenuOpened(featureId, menu); }
下载源码:http://download.csdn.net/detail/zhong1113/8765119
相关文章推荐
- 你真的会二分查找吗?
- Unity5.0 RPG角色扮演历险类游戏之 森林历险记
- 长时间停留在calculating requirements and dependencies 的解决方案
- 新域名正在备案,静候佳音
- 【百度地图API】如何制作多途经点的线路导航——驾车篇
- leetcode Same Tree
- SpringMVC拦截器实现登录控制
- APP适配IOS8,iPhone6和Plus截图简要说明
- 安卓应用使用QQ登录的申请流程
- java 课件
- 表格的便捷操作
- iOS开发-控制状态栏
- Oracle Study之-- enq:SQ contention等待事件
- junit测试Android项目
- notepad++使用心得
- 第06课:作用域、JS预解析机制
- 相对布局属性
- python实现的守护进程(Daemon)用法实例
- c语言使用zlib实现文本字符的gzip压缩与gzip解压缩
- Extjs4 关于设置form中所有子控件为readOnly属性的解决方案