在 ActionBar 添加刷新按钮
2014-05-10 17:22
260 查看
在以前版本的 Gmail 应用中,ActionBar 上有个刷新菜单,点击一下刷新菜单变成一个转圈的刷新标示动画图片。 之前实现该功能的时候都是使用一个类库 RefreshActionItem 来实现的。RefreshActionItem 还支持一些扩展功能,功能比较丰富。
今天无意中又发现一个简单的实现方式。如果您只需要一个刷新的效果,则可以考虑这种方法, 实现方式如下:
1. 首先定义一个 Menu xml 文件:
帮助
2. 然后创建一个代表刷新进度的自定义 ProgressBar 布局文件 actionbar_indeterminate_progress.xml:
帮助
注意,为了显示美观,上面的 宽度和高度 不同的版本和屏幕可能需要设置不一样的值,可以在不同的 dimens.xml 中设置。
3. 在 Activity 代码中,获取到该 MenuItem 并根据刷新情况来设置 ActionView:
帮助
这里为了兼容 AppCompat (android 3.0 之前的版本)用了 MenuItemCompat 来设置 ActionView。
现在,根据您的刷新逻辑,只需要调用 setRefreshActionButtonState 函数就可以启用刷新动画了。
这种方式,值得一提的是, 如果你设置了 ActionView,则就是一个自定义 ActionItem,如果在 ActionView 中你不处理 OnClick 事件,则用户点击该菜单是没响应的,这种行为刚好是应用需要的行为。
本文出自 云在千峰,转载时请注明出处及相应链接。
本文永久链接: http://blog.chengyunfeng.com/?p=572
今天无意中又发现一个简单的实现方式。如果您只需要一个刷新的效果,则可以考虑这种方法, 实现方式如下:
1. 首先定义一个 Menu xml 文件:
帮助
帮助
3. 在 Activity 代码中,获取到该 MenuItem 并根据刷新情况来设置 ActionView:
帮助
现在,根据您的刷新逻辑,只需要调用 setRefreshActionButtonState 函数就可以启用刷新动画了。
这种方式,值得一提的是, 如果你设置了 ActionView,则就是一个自定义 ActionItem,如果在 ActionView 中你不处理 OnClick 事件,则用户点击该菜单是没响应的,这种行为刚好是应用需要的行为。
本文出自 云在千峰,转载时请注明出处及相应链接。
本文永久链接: http://blog.chengyunfeng.com/?p=572
相关文章推荐
- 在 ActionBar 添加刷新按钮
- 给ActionBar中的按钮添加旋转动画(刷新动画)
- 在 ActionBar 添加刷新按钮
- (转)给ActionBar中的按钮添加旋转动画(刷新动画)
- 笔记:与其他app共享Simple Data,和在ActionBar上简单地添加分享按钮
- .NET中用弹出窗口添加或修改一个页面,当添加或修改相关内容后按下提交按钮自动刷新页面的JS代码
- 在ActionBar添加刷新Loading状态
- ActionBar 添加返回按钮
- IOS 添加刷新按钮,刷新当前页面(contentOffset)
- 在easyui中为tabs标签页面板添加刷新按钮
- Android Actionbar 添加返回按钮
- 美化你的标题栏—ActionBar(1)添加按钮使用
- 给ActionBar中的按钮添加旋转动画(刷新动画)
- ActionBar 添加按钮
- Android ActionBar中的按钮添加旋转动画
- ActionBar简单使用——添加搜索按钮;让不同的Activity上显示不同的ActionBar;添加Tab标签;实现DrawerLayout并用ActionBarDrawerToggle控制
- BIEE 10g 移除仪表盘右下角控制按钮(刷新、打印、添加到工作簿)
- Android官方开发文档Training系列课程中文版:添加ActionBar之添加Action按钮
- 在ActionBar添加刷新Loading状态
- 页面上有个添加按钮,程序运行成功的,当我添加一条记录后刷新页面,它自动又添加一条,这样怎么修改?