首先:

getActionBar().setDisplayShowTitleEnabled(false);

		ActionBar.LayoutParams lp = new ActionBar.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT);
lp.gravity = lp.gravity & ~Gravity.HORIZONTAL_GRAVITY_MASK | Gravity.LEFT;
ActionBarPopupButton popupButton = new ActionBarPopupButton(this);
popupButton.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { @Override
public boolean onMenuItemClick(MenuItem item) {
Intent intent = new Intent();
intent.setClass(MainActivity.this, cls[item.getOrder()]);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
if (item.getOrder() == 0) {
intent.putExtra(Extras.DATE, mDates.get(mViewPager.getCurrentItem()));
}
startActivity(intent);
return false;
}
});
getActionBar().setCustomView(popupButton, lp);
int change = getActionBar().getDisplayOptions() ^ ActionBar.DISPLAY_SHOW_CUSTOM;
getActionBar().setDisplayOptions(change, ActionBar.DISPLAY_SHOW_CUSTOM);

private Class<?>[] cls = new Class[] { HistoryActivity.class, VibrateActivity.class, CircleActivity.class, PersonalActivity.class, DeviceActivity.class };

第二:

public class ActionBarPopupButton extends Button implements OnClickListener {

	private PopupMenu mPopupMenu;

	public ActionBarPopupButton(Context context) {
super(context);
setBackgroundResource(R.drawable.abc_spinner_ab_holo_dark);
setTextAppearance(getContext(), android.R.style.Widget_Spinner);
setText(getContext().getString(R.string.title_activity_detail));
setTextColor(getResources().getColor(R.color.white));
setOnClickListener(this);
mPopupMenu = new PopupMenu(getContext(), this);
mPopupMenu.inflate(R.menu.main_navigation_list);
} @Override
public void onClick(View v) {
mPopupMenu.show();
} public void setOnMenuItemClickListener(OnMenuItemClickListener listener) {
mPopupMenu.setOnMenuItemClickListener(listener);
}
}

setBackgroundResource 图片

setTextAppearance  样式

setText  文本内容

setTextColor   颜色

main_navigation_list  XML

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
android:orderInCategory="0"
android:showAsAction="never"
android:title="@string/title_activity_history"/>
<item
android:orderInCategory="1"
android:showAsAction="never"
android:title="@string/title_activity_vibrate"/>
<item
android:orderInCategory="2"
android:showAsAction="never"
android:title="@string/title_activity_circle_2"/>
<item
android:orderInCategory="3"
android:showAsAction="never"
android:title="@string/title_activity_personal"/>
<item
android:orderInCategory="4"
android:showAsAction="never"
android:title="@string/title_activity_device"/> </menu>

ActionBar点击弹出下拉框操作的更多相关文章

  1. easyui combobox点击输入框弹出下拉框

    由于easyui combobox需要点击下拉箭头才能下拉,不能像select标签那样点击输入框就下拉,所以觉得不太方便,查看了一下,combobox弹出框是一个div,原本想在他的输入框的点击事件中 ...

  2. JQuery autocomplete获得焦点触发弹出下拉框

    需求:autocomplete控件,当点击获得焦点的时候也要弹出下拉列表(autocomplete默认是输入之后才会跟随出下拉列表),下面直接贴代码. js代码: $("#customerN ...

  3. asp.net html 单击按钮弹出下拉框效果

    1.说明 需要引用jquery.js文件,我的页面是在asp.net MVC4 添加的web窗体,其他不多说 直接看代码 2.代码 <%@ Page Language="C#" ...

  4. CSS实现鼠标移入弹出下拉框

    前言 最近比较沉迷CSS,所以我现在来做个鼠标的交互效果 HTML <ul> <li>测试</li> <li>测试</li> <li ...

  5. IOS第二天-新浪微博 - 添加搜索框,弹出下拉菜单 ,代理的使用 ,HWTabBar.h(自定义TabBar)

    ********HWDiscoverViewController.m(发现) - (void)viewDidLoad { [super viewDidLoad]; // 创建搜索框对象 HWSearc ...

  6. jQuery下拉框操作系列$("option:selected",this) &&(锋利的jQuery)

    jQuery下拉框操作系列$("option:selected",this)  &&(锋利的jQuery) <!DOCTYPE html> <ht ...

  7. selenium - 下拉框操作

    # 9. 下拉框操作# (1)等待下拉列表和下拉列表中值存在# (2)在下拉列表中选择一个值 # 三种方式# A. 获取所有的下拉列表值,然后用循环去匹配相同的值 select_by_index(下标 ...

  8. 【android开发】使用PopupWindow实现页面点击顶部弹出下拉菜单

    没有太多花样,也没有很复杂的技术,就是简单的PopupWindow的使用,可以实现点击弹出一个自定义的view,view里可以随便设计,常用的可以放一个listview. demo中我只是一个点击展示 ...

  9. 用css写出下拉框(代码转自wq群)

    做网易云音乐首页时遇到的问题,鼠标指在右上角头像时出现下拉框. <style>/* css*/ #body{ float: left; } #xialakuang{ background- ...

随机推荐

  1. ##DAY8 界面通信

    ##DAY8 界面通信 注意:延展中写的东西只能在类内使用 #pragma mark ———————属性传值—————————— (第一个页面往第二个页面传值) 一.属性传值:(第一个页面往第二个页面 ...

  2. 算法之旅,直奔<algorithm>之十五 find

    find(vs2010) 引言 这是我学习总结 <algorithm>的第十五篇.关于<algorithm>,每篇都很小,但是都很好用,可以秀出你的个性. 作用 find的作用 ...

  3. 解决spark运行中failed to locate the winutils binary in the hadoop binary path的问题

    1.下载hadoop-common-2.2.0-bin并解压到某个目录 https://github.com/srccodes/hadoop-common-2.2.0-bin 2.设置hadoop.h ...

  4. CentOS修改IP

    编辑 /etc/sysconfig/network-scripts/ifcfg-eth0 然后 service network restart DEVICE=eth0BOOTPROTO=noneNM_ ...

  5. (Problem 72)Counting fractions

    Consider the fraction, n/d, where n and d are positive integers. If nd and HCF(n,d)=1, it is called ...

  6. cython教程

    .写测试代码: zhouhh@zhouhh-home:~$ vi test.pyx [python] view plaincopy def sayhello(char* str): if str == ...

  7. word中创建文本框

    word中创建文本框         在插入中点击"文本框"选项卡,例如以下图所看到的:        手工加入自己想要的文本框格式,然后选择所创建的文本框,在工具栏处会发现多了一 ...

  8. java--折半查找

    /* 折半查找 */ class TwoSearch { //折半查找可以提高效率,但必须得保证是有序的数组 public static int halfSearch(int[] arr,int ke ...

  9. JavaScript constructor prototyoe

    想加深一下自己对construtcor prototype的印象所以写了这一篇文章 对象的constructor 就是Object 除了通过构造函数创建的对象意外 他的constructor 都是 都 ...

  10. JS,JQuery各种获取屏幕的宽度和高度

    JQuery: $(document).ready(function(){ alert($(window).height()); //浏览器当前窗口可视区域高度 alert($(document).h ...