自己定义Actionbar
2016-04-14 13:42
309 查看
近期在项目中大量使用actionbar,所以把自己定义的一些属性总结一下。
效果例如以下:
![](http://img.blog.csdn.net/20150602185403965)
1、自己定义actionbar
在theme的style中设置
2、自己定义返回button图标
3、自己定义标题样式
这个须要设置actionbar的属性android:titleTextStyle
4、item字体设置
5、自己定义overflowbutton图标
6、设置overflow的item显示文字和图标
menu
还须要重写onMenuOpened方法
下载源代码:http://download.csdn.net/detail/zhong1113/8765119
效果例如以下:
1、自己定义actionbar
在theme的style中设置
<item name="android:actionBarStyle">@style/CustomActionBar</item>
<!-- 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、自己定义返回button图标
<item name="android:homeAsUpIndicator">@drawable/navbar_back</item>
3、自己定义标题样式
这个须要设置actionbar的属性android:titleTextStyle
<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字体设置
<item name="android:itemTextAppearance">@style/itemTextStyle</item>
<style name="itemTextStyle"> <item name="android:textColor">@android:color/holo_blue_bright</item> </style>
5、自己定义overflowbutton图标
<item name="android:actionOverflowButtonStyle">@style/OverflowButtonStyle</item>
<style name="OverflowButtonStyle"> <item name="android:src">@drawable/actionbar_add_icon</item> </style>
6、设置overflow的item显示文字和图标
menu
<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方法
@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
相关文章推荐
- 【MySQL】MySQL 5.7 sys Schema
- Oracle PL/SQL Developer 上传下载Excel
- 正则表达式-检测是否是数字,包括整数,小数
- iOS开发之应用内检测手机锁屏,解锁状态
- spring mvc poi导出excel
- Java使用Jacob转换Word为HTML
- os模块及os.path模块的应用举例
- DEVICE_ATTR的使用
- [C#]exchange发送,收件箱操作类
- CUDA[2] Hello,World
- 优秀的程序员不会觉得累成狗是一种荣耀
- SpringMVC整合Redis 出现 afterPropertiesSet signature: ()V) Incompatible argument to function 解决办法
- NSURLSessionDownloadTask 下载/断点下载
- 基于Redis实现分布式锁-Redisson使用及源码分析
- CUDA[1] Introductory
- 关于Animation动画事件的几项测试
- 数组去重-数组塌陷的解决方法
- iOS新浪微博分享SDK Check List
- js中(function(){…})()立即执行函数写法理解
- lsof命令的用法