仿微沟道效应,主要actionbar有些知识

1.新actionBar的menu

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.pangzaifei.weixin.Demo" >
<item
android:id="@+id/action_search"
android:title="查询"
android:icon="@drawable/actionbar_search_icon"
android:actionViewClass="android.widget.SearchView"
android:showAsAction="ifRoom|collapseActionView"
/>
<item
android:id="@+id/action_plus"
android:title="加入"
android:icon="@drawable/actionbar_add_icon"
android:actionProviderClass="com.pangzaifei.weixin.MyActionPlusProvider"
android:showAsAction="ifRoom"
/>
<item
android:id="@+id/action_album"
android:title="我的相冊"
android:icon="@drawable/ofm_photo_icon"
android:showAsAction="ifRoom"
/>
<item
android:id="@+id/action_album"
android:title="我的收藏"
android:icon="@drawable/ofm_collect_icon"
android:showAsAction="ifRoom"
/>
<item
android:id="@+id/action_album"
android:title="我的银行卡"
android:icon="@drawable/ofm_card_icon"
android:showAsAction="ifRoom"
/>
<item
android:id="@+id/ofm_setting_icon"
android:title="设置"
android:icon="@drawable/ofm_photo_icon"
android:showAsAction="ifRoom"
/>
<item
android:id="@+id/action_album"
android:title="意见反馈"
android:icon="@drawable/ofm_feedback_icon"
android:showAsAction="ifRoom"
/> </menu>

使用内置的searcharview

<pre name="code" class="java">   android:actionViewClass="android.widget.SearchView"

使用provider,实现微信+号功能

 android:actionProviderClass="com.pangzaifei.weixin.MyActionPlusProvider"

2.一些注意的地方

    /**
* 防止很多其它button在一些手机上不显示的问题
*/
private void showOverFlowAlawys() {
ViewConfiguration configuration = ViewConfiguration.get(this);
try {
Field field = ViewConfiguration.class
.getDeclaredField("sHasPermanentMenuKey");
field.setAccessible(true);
field.setBoolean(configuration, Boolean.FALSE);
} catch (Exception e) {
e.printStackTrace();
} }
    @Override
public boolean onMenuOpened(int featureId, Menu menu) {
if (featureId == Window.FEATURE_ACTION_BAR && menu != null) {
if (menu.getClass().getSimpleName().equals("MenuBuilder")) {
// 设置显示icon
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);
}

使用须要配置PagerSlidingTabStrip

<resources>

    <declare-styleable name="PagerSlidingTabStrip">
<attr name="pstsIndicatorColor" format="color" />
<attr name="pstsUnderlineColor" format="color" />
<attr name="pstsDividerColor" format="color" />
<attr name="pstsIndicatorHeight" format="dimension" />
<attr name="pstsUnderlineHeight" format="dimension" />
<attr name="pstsDividerPadding" format="dimension" />
<attr name="pstsTabPaddingLeftRight" format="dimension" />
<attr name="pstsScrollOffset" format="dimension" />
<attr name="pstsTabBackground" format="reference" />
<attr name="pstsShouldExpand" format="boolean" />
<attr name="pstsTextAllCaps" format="boolean" />
</declare-styleable> </resources>

样式微调

    <style name="WeixinTheme" parent="android:Theme.Holo.Light.DarkActionBar">
<item name="android:actionBarStyle">@style/WeChatActionBar</item>
<item name="android:itemBackground">@drawable/actionbar_bg_selector</item>
<item name="android:actionBarItemBackground">@drawable/actionbar_bg_selector</item>
<item name="android:itemTextAppearance">@style/WeChatActionBarOverflow</item>
<item name="android:actionOverflowButtonStyle">@style/WeChatActionButtonOverflow</item>
</style> <style name="WeChatActionBar" parent="@android:style/Widget.Holo.ActionBar">
<item name="android:background">#303537</item>
<item name="android:titleTextStyle">@style/WeChatActionBarTitleText</item>
</style> <style name="WeChatActionBarTitleText" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title">
<item name="android:textColor">#cfcfcf</item>
<item name="android:textSize">17sp</item>
</style> <style name="WeChatActionBarOverflow" parent="@android:style/Widget.ActionButton.Overflow">
<item name="android:textSize">16sp</item>
</style> <style name="WeChatActionButtonOverflow" parent="android:style/Widget.Holo.ActionButton.Overflow">
<item name="android:src">@drawable/actionbar_more_icon</item>
</style>

完整代码下载地址:

http://download.csdn.net/detail/pangzaifei/7672161

版权声明:本文博主原创文章,博客,未经同意不得转载。

仿微沟道效应,主要actionbar有些知识的更多相关文章

  1. android——仿微拍贷滑动圆形菜单

    一次偶然机会接触到微拍贷的app,瞬间被其圆形可滑动菜单吸引了.一直琢磨着给弄出来. 现在弄出来了.先看看效果吧 如果你也喜欢这个菜单.去我的github找源码吧.太忙了.没时间贴代码和讲解了. ht ...

  2. android安卓程序源码---高仿微信源码

    先截几张图: 部份源代码如下所示: package cn.buaa.myweixin; import java.util.ArrayList; import android.os.Bundle; im ...

  3. springboot微服务的简单小结

    springboot微服务的简单小结 近来公司用springboot微服务,所以小结一下. 基础: 什么是SpingBoot微服务? 如何创建SpringBoot微服务? 如何管理和完善SpringB ...

  4. Re:从0开始的微服务架构:(一)重识微服务架构--转

    原文地址:http://www.infoq.com/cn/articles/micro-service-architecture-from-zero?utm_source=infoq&utm_ ...

  5. 仿MSDN的帮助系统

    作为软件开发人员,软件做好后,接下来就是编写文档.我自己也是做软件的,经常有用户询问软件的安装与使用, 我一直很喜欢微软的MSDN帮助系统,简介.大气,使用方便. 网上也找了很久,感觉一直没有合适的, ...

  6. java基础知识面试总结-部分

    前言 在平时的工作学习中,自己对微服务和springboot基础理论知识关注比较少,在面试中对于面试官的问题,很多基本都不能够达到精准,全面:现将自己面试中的问题做以总结: 1.谈谈你对微服务架构的认 ...

  7. fir.im Weekly - iOS 保持界面流畅的技巧

    生命不息,coding 不止.本期 fir.im Weekly 收集了微博上的热转资源,包含 Android.iOS 开发工具.源码分享,产品 UI 设计的好文章,还有一些程序员成长的 Tips,希望 ...

  8. 简易解说拉格朗日对偶(Lagrange duality)(转载)

    引言:尝试用最简单易懂的描述解释清楚机器学习中会用到的拉格朗日对偶性知识,非科班出身,如有数学专业博友,望多提意见! 1.原始问题 假设是定义在上的连续可微函数(为什么要求连续可微呢,后面再说,这里不 ...

  9. OA,ERP等源码一部分演示

    更多源码http://www.pssdss.com QQ:11851298 功能强大的JAVA开发的ERP源码http://cx050027.pssdss.com:8080/   用户名pssdss  ...

随机推荐

  1. Resource temporarily unavailable用户的连接数设置的太小

    -bash:fork:Resource temporarily unavailable的问题   出现这个问题的原因是linux用户的连接数设置的太小,只要修改max user processes就可 ...

  2. httpcomponents-client-ga(4.5)

    http://hc.apache.org/httpcomponents-client-ga/tutorial/html/   Chapter 1. Fundamentals Prev     Next ...

  3. 收藏的Android很好用的组件或者框架。

    收藏的Android很好用的组件或者框架. android框架  先说两个站点: http://www.androidviews.net/ 非常好的国外开源码站,就是訪问速度有点慢啊 http://w ...

  4. 用友CDM系统期初导入商品资料经验

    1.       倒入商品资料,是导入表spkfk(商品档案表).spkfjc(商品总结存表),主要是将spkfk全部编码导入. 2.       导入客商资料,是导入表mchk(业务单位登记表).m ...

  5. POJ 3100 &amp; ZOJ 2818 &amp; HDU 2740 Root of the Problem(数学)

    题目链接: POJ:id=3100" style="font-size:18px">http://poj.org/problem? id=3100 ZOJ:http ...

  6. android如何使用自己定义JNI接口,以及NDK环境建设和使用的工具。

    一.建筑环境: 1.需要的工具: A.cygwin    (在windows下使用LINUX系统)                                                   ...

  7. 新项目架构从零开始(三)------基于简单ESB的服务架构

    这几个月一直在修改架构,所以迟迟没有更新博客. 新的架构是一个基于简单esb的服务架构,主要构成是esb服务注册,wcf服务,MVC项目构成. 首先,我门来看一看解决方案, 1.Common 在Com ...

  8. uva 10192 Vacation(最长公共子)

    uva 10192 Vacation The Problem You are planning to take some rest and to go out on vacation, but you ...

  9. Cocos2d-x学习笔记(五岁以下儿童) 精灵两种方式播放动画

     这几天在看控件类,临时没有想好实际运用的方向.单纯的创建网上已经有非常多这方面的样例,我就不写了.接下来是学习精灵类.精灵类若是单独学习也是非常easy.于是我加了一些有关动画方面的知识点与精灵 ...

  10. C++ 版本的split_string

    vector<string> split_string(const string &in, char del, bool skip_empty) { vector<strin ...