ActionBar点击弹出下拉框操作
首先:
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点击弹出下拉框操作的更多相关文章
- easyui combobox点击输入框弹出下拉框
由于easyui combobox需要点击下拉箭头才能下拉,不能像select标签那样点击输入框就下拉,所以觉得不太方便,查看了一下,combobox弹出框是一个div,原本想在他的输入框的点击事件中 ...
- JQuery autocomplete获得焦点触发弹出下拉框
需求:autocomplete控件,当点击获得焦点的时候也要弹出下拉列表(autocomplete默认是输入之后才会跟随出下拉列表),下面直接贴代码. js代码: $("#customerN ...
- asp.net html 单击按钮弹出下拉框效果
1.说明 需要引用jquery.js文件,我的页面是在asp.net MVC4 添加的web窗体,其他不多说 直接看代码 2.代码 <%@ Page Language="C#" ...
- CSS实现鼠标移入弹出下拉框
前言 最近比较沉迷CSS,所以我现在来做个鼠标的交互效果 HTML <ul> <li>测试</li> <li>测试</li> <li ...
- IOS第二天-新浪微博 - 添加搜索框,弹出下拉菜单 ,代理的使用 ,HWTabBar.h(自定义TabBar)
********HWDiscoverViewController.m(发现) - (void)viewDidLoad { [super viewDidLoad]; // 创建搜索框对象 HWSearc ...
- jQuery下拉框操作系列$("option:selected",this) &&(锋利的jQuery)
jQuery下拉框操作系列$("option:selected",this) &&(锋利的jQuery) <!DOCTYPE html> <ht ...
- selenium - 下拉框操作
# 9. 下拉框操作# (1)等待下拉列表和下拉列表中值存在# (2)在下拉列表中选择一个值 # 三种方式# A. 获取所有的下拉列表值,然后用循环去匹配相同的值 select_by_index(下标 ...
- 【android开发】使用PopupWindow实现页面点击顶部弹出下拉菜单
没有太多花样,也没有很复杂的技术,就是简单的PopupWindow的使用,可以实现点击弹出一个自定义的view,view里可以随便设计,常用的可以放一个listview. demo中我只是一个点击展示 ...
- 用css写出下拉框(代码转自wq群)
做网易云音乐首页时遇到的问题,鼠标指在右上角头像时出现下拉框. <style>/* css*/ #body{ float: left; } #xialakuang{ background- ...
随机推荐
- Insert into a Cyclic Sorted List
Given a node from a cyclic linked list which has been sorted, write a function to insert a value int ...
- 51NOD 算法马拉松8
题目戳这里:51NOD算法马拉松8 某天晚上kpm在玩OSU!之余让我看一下B题...然后我就被坑进了51Nod... A.还是01串 水题..怎么乱写应该都可以.记个前缀和然后枚举就行了.时间复杂度 ...
- (转)C++中extern “C”含义深层探索
(转)C++中extern “C”含义深层探索 转自: http://www.cppblog.com/Macaulish/archive/2008/06/17/53689.html 1.引言 C++语 ...
- bzoj 1040: [ZJOI2008]骑士 树形dp
题目链接 1040: [ZJOI2008]骑士 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 3054 Solved: 1162[Submit][S ...
- linux cpu亲和性设置
1.设置进程的cpu亲和性程序如下, #Using:g++ setCpuAffinity.c -o setCpuAffinity #include<sys/types.h> #includ ...
- asp.net mvc重写RequestValidator
/// <summary> /// <httpRuntime requestValidationType="xxx.CustomRequestValidator" ...
- Codecs是以plugin的形式被调用的(显示中文的codec plugin文件是qcncodecs4.dll),可静态载入和动态载入
作为非英语国家人员开发的类库,QT有充分的理由优先考虑支持Unicode和各国自定义字库编码.大家也知道了QT对软件Internationalization有一套完整的开发模型,包括专门为此写的lin ...
- elk 分布式数据同步
zjtest7-redis:/elk/elasticsearch/data/es_cluster/nodes/0/indices/library# strings ./1/index/_3.cfs | ...
- poj 2192 Zipper(区间dp)
题目链接:http://poj.org/problem?id=2192 思路分析:该问题可以看做dp问题,同时也可以使用dfs搜索求解,这里使用dp解法: 设字符串StrA[0, 1, …, n]和S ...
- C# Best Practices - Creating Good Methods
How to Define a Method Identify the problem => Define the single purpose => Specify the inputs ...