ActionBar点击弹出下拉框操作
2016-01-12 10:52
330 查看
首先:
private Class<?>[] cls = new Class[] { HistoryActivity.class, VibrateActivity.class, CircleActivity.class, PersonalActivity.class, DeviceActivity.class };
第二:
setBackgroundResource 图片
setTextAppearance 样式
setText 文本内容
setTextColor 颜色
main_navigation_list XML
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>
相关文章推荐
- ASP.NET文件上传大小限制
- 学习mongo系列(一) 安装 解析 连接
- MongoDB常用操作一查询find方法db.collection_name.find()
- js得到当前文档的编码:document.characterSet
- 授信主体查找
- 在jsp页面下, 让eclipse完全支持HTML/JS/CSS智能提示
- (转)Openstack Cascading和Nova Cell
- Service组件的启动机制深入学习
- opencv操作像素
- 事务的ACID 属性
- [转]PhoneGap使用PushPlugin插件实现消息推送
- 创建支持eclipse的多模块maven项目
- git 命令参考手册 git中文命令参考手册大全
- 【转载】如何学习javascript
- JAVA内存溢出与内存泄露
- 关于mybatis的学习笔记
- MVC的理解
- 如何将磁盘从GPT格式转换成MBR
- C#读写文件总结
- 如何在UIViewController中 使用UIRefreshControl