ActionBar 中的 ProgressBar,例如具有刷新功能的 GMail 应用程序

2024-02-10

我想做与 Honeycomb 平板电脑上的 GMail 应用程序相同的事情。 单击“刷新”按钮时,该图标将替换为进度条。 我怎样才能做到这一点?

Thanks


好吧,我尝试了 Cailean 的建议,但它对我不起作用。每次我想将不确定的进度恢复到原始按钮时,它就变得不可点击,我使用了这种进度布局

(actionbar_refresh_progress.xml)

<?xml version="1.0" encoding="utf-8"?>
<ProgressBar xmlns:android="http://schemas.android.com/apk/res/android"
             android:layout_width="32dp"
             android:layout_height="32dp"
             android:layout_gravity="center"/>

和这个恢复按钮

(actionbar_refresh_button.xml)

<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
           android:src="@drawable/ic_menu_refresh_holo_light"
           android:layout_height="wrap_content"
           android:layout_width="wrap_content"/>

我的代码是:

private void setRefreshing(boolean refreshing) {
        this.refreshing = refreshing;
        if(refreshMenuItem == null) return;
        View refreshView;
        LayoutInflater inflater = (LayoutInflater)getActionBar().getThemedContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);

        if(refreshing)
            refreshView = inflater.inflate(R.layout.actionbar_refresh_progress, null);
        else
            refreshView = inflater.inflate(R.layout.actionbar_refresh_button, null);

        refreshMenuItem.setActionView(refreshView);
    }

浏览 Google IO 应用程序的源代码后,尤其是这个文件:http://code.google.com/p/iosched/source/browse/android/src/com/google/android/apps/iosched/ui/HomeActivity.java http://code.google.com/p/iosched/source/browse/android/src/com/google/android/apps/iosched/ui/HomeActivity.java我找到了另一种更简单的方法。

现在我只需要第一个有进度的布局,工作方法如下所示:

private void setRefreshing(boolean refreshing) {
    this.refreshing = refreshing;
    if(refreshMenuItem == null) return;

    if(refreshing)
        refreshMenuItem.setActionView(R.layout.actionbar_refresh_progress);
    else
        refreshMenuItem.setActionView(null);
}

菜单项定义:

<item android:id="@+id/mail_refresh"
      android:title="Refresh"
      android:icon="@drawable/ic_menu_refresh_holo_light"
      android:showAsAction="always"/>

我希望有人觉得这很有用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ActionBar 中的 ProgressBar,例如具有刷新功能的 GMail 应用程序 的相关文章

  • 这个方法比 Math.random() 更快吗?

    我是一名初学者 目前已经开始开发一款使用粒子群优化算法的 Android 游戏 我现在正在尝试稍微优化我的代码 并且 for 循环中有相当多的 Math random 几乎一直在运行 所以我正在考虑一种方法来绕过并跳过所有 Math ran
  • Android 应用程序在启动时打开应用程序信息屏幕,而不是启动主 Activity

    我不确定这是否是一个问题 但这是我第一次遇到这个问题 我正在开发一个应用程序 当我在进行一些编码后断开应用程序与 Android Studio 和 PC 的连接时 如果我尝试在手机上打开应用程序 它会启动app info屏幕 我们看到强制停
  • android中根据屏幕尺寸计算图像尺寸

    我正在尝试根据屏幕尺寸计算图像高度和宽度 我从后端获取 5 x 7 尺寸的图像 为了将像素乘以 72 进行转换 我有 360 X 504 尺寸的图像 对于 360 X 504 我的动态透明矩形区域将显示为 1 223 x 1 179 即 8
  • Android PhoneGap 插件,UI 选项卡栏,调整 WebView 大小

    我正在创建一个美味的 PhoneGap 插件 希望一旦它能被打开 准备好了 插件基本完成了 我只需要一个漂亮的用户界面 相互作用 简而言之 我想创建一个 本机 android 工具栏组件 如果您实现 PhoneGap UIControls
  • onScale 事件后触发奇怪的 onScroll 事件

    我有一个同时使用 SimpleOnScaleGestureListener 和 SimpleOnGestureListener 的应用程序 每当我进行捏缩放时 我都会得到预期的 onScale 但是当我抬起时 我会看到一个奇怪的 onScr
  • Android:如何使用后台线程?

    我开发了一个应用程序 它从互联网获取内容并相应地在设备的屏幕上显示它 该程序运行得很好 就是有点慢 加载并显示内容大约需要 3 4 秒 我想将获取内容并将其显示在后台线程中的所有代码放在一起 当程序执行这些功能时 我想显示一个进度对话框 你
  • 当不支持 Google Play 应用内结算 V.3 时

    在 Google Play 的应用内结算 V 3 中 有一个选项可以检查用户设备是否支持它 使用是否支持计费 http developer android com google play billing versions html meth
  • Android 版 jTwitter 授权错误

    我在我的 Android 应用程序中使用 jTwitter 库 直到前天一切都运转良好 但今天遇到异常 服务提供商响应错误 301 请帮助我 这是堆栈跟踪 02 21 21 07 27 258 E AndroidRuntime 4013 F
  • 我想从 android 中服务器的视频 url 创建缩略图

    My code public static Bitmap retriveVideoFrameFromVideo String videoPath throws Throwable Bitmap bitmap null MediaMetada
  • Android Fragment onCreateView 与手势

    我正在尝试在片段中使用手势 我在 FragmentActivity 中有以下内容来处理我的详细信息片段 我试图发生的情况是 当在视图上检测到滑动时 将该视图内的数据替换为上一个或下一个条目 如果有更好的方法来处理这个问题 我完全同意 然而
  • 适用于 Android 的 Google 云端硬盘\文档 API

    我在几个小时内将 Dropbox 与我的应用程序集成 因为 SDK 描述清晰并且有很好的使用示例 Google Drive 似乎只有一个 一刀切 的 Gdata SDK 它非常重 有很多依赖项 它使我的应用程序的大小增加了三倍 而且不是很直
  • 如何制作在手机和平​​板电脑上使用的响应式Android应用程序?

    我创建了一个 Android 应用程序 当我运行我的应用程序时Mobile Phone它工作得很好 但是当我跑进去时Tablet应用程序的布局已更改 那么 如何制作响应式Android应用程序用于Mobile并且也在Tablet 在Andr
  • Android 纹理仅显示纯色

    我正在尝试在四边形上显示单个纹理 我有一个可用的 VertexObject 它可以很好地绘制一个正方形 或任何几何对象 现在我尝试扩展它来处理纹理 但纹理不起作用 我只看到一种纯色的四边形 坐标数据位于 arrayList 中 the ve
  • 如何使用应用程序接口将蓝牙套接字传递给另一个活动

    因此 根据我收集的信息 套接字连接既不可序列化 也不可分割 但我需要将蓝牙连接传递给另一个活动 我不想作为中间人编写服务 所以请不要将此作为解决方案发布 我听说有一种方法可以使用自定义应用程序接口来传递这些类型的对象 但我一生都找不到这样的
  • Jetpack 导航:如何从一个嵌套图的子级导航到另一个嵌套图的子级?

    导航结构 MainActivity nav root HomeFragment AuthNestedGraph nav auth BeforeOtpFragment home OtpFragment ProfileNestedGraph n
  • 即使 Android M 上的移动数据已打开(有连接),也可以通过 WiFi(无连接)发送请求

    我必须在没有互联网连接的情况下将 UDP 数据包发送到 WiFi 模块 配有自己的 AP 但是当我将手机连接到 AP 时 Android 会在移动数据接口上重定向我的数据包 因为它有互联网连接 我使用下面的代码来完成我的工作 但它似乎不适用
  • 屏幕开/关检测

    在这里 我试图确定屏幕是否打开 但按下电源锁定 解锁按钮时它似乎不起作用 应用程序运行没有错误 但 if else 中的代码似乎没有效果 Edited现在代码可以工作了 谢谢Olgun 但媒体播放器播放不会停止 并且每次在屏幕上 离屏时都会
  • 是否可以使用 CardView 为浮动操作按钮制作阴影?

    I know CardView不是为此而设计的 但理论上如果cardCornerRadius view size 2它应该导致圆圈 我错过了什么吗 绘制真实的动画阴影并不困难 您可以尝试在 Froyo 等任何 Android 设备上实现 L
  • 如何关闭 EditText 中的建议?

    如何在 Android 中关闭 EditText 中的建议 android inputType textNoSuggestions 根据this http comments gmane org gmane comp handhelds an
  • 在 Android 手机中通过耳机插孔发送数据

    我目前正在处理一个新项目 我必须通过具有特定电压的耳机插孔发送数据 然后我可以在该电压上工作 所以这里我需要根据我的数据来编程具体电压 我是否可以在android中访问耳机的输出电压 然后创建一个应用程序来控制该电压 这是一篇讨论此问题的

随机推荐

  • 如何以正确的类型安全方式迭代记录键?

    让我们针对一些属性构建一个示例记录 type HumanProp weight height age type Human Record
  • 如何获取光标下的单词?

    假设有一个mousestop事件附加到整个文档 找出确切事件的最佳方法是什么word当鼠标停止移动时 在光标下方 如果有任何文本 我可以从事件处理程序获取底层 jQuery 元素 document elementFromPoint e cl
  • MATLAB:在子图中绘制/保存网格函数的 X-Y 视图

    正如标题所示 我试图将网格函数的 2 变量切片 例如 作为 jpg 保存为子图 我想使用 m 文件来执行此操作 因为我有很多要生成的图 我已经弄清楚如何在他们自己的图形上绘制视图 但我无法让它们正确地绘制为图形中的子图 为了说明我的意思 以
  • 绘制包含 80% (x, y) 点的圆

    我有一个二维数组 x y 的点 我想绘制一个包含该点 80 的圆 并且我想知道所得圆的半径 有没有办法用 python 来做到这一点 我一直在寻找一种方法来做到这一点 但没有成功 我很抱歉没有尝试 但我完全迷失了在不给圆半径的情况下取 80
  • 进程何时处理信号

    我想知道linux进程什么时候处理信号 假设进程已经安装了信号的信号处理程序 我想知道进程的正常执行流程何时会被中断并调用信号处理程序 根据http www tldp org LDP tlk ipc ipc html http www tl
  • 访问实例变量的语法? (目标-C)

    在 Objective C 中访问实例变量的正确语法是什么 假设我们有这个变量 interface thisInterface UIViewController NSMutableString aString property nonato
  • 与D3的关系图

    如何使用 D3 创建以下图表 我不知道这种类型的可视化的名称 我能找到的最接近的是 力导向 图 图例 填充的节点是人 非填充的节点是属性 例如最喜欢的颜色 这是我的版本 http jsfiddle net doraeimo JEcdS em
  • Python win32com“参数数量无效”

    我正在尝试使用 win32com 使用以下代码将多个 xlsx 文件转换为 xls import win32com client f r input xlsx xl win32com client gencache EnsureDispat
  • iOS 应用程序上的自定义字体 - 在模拟器中工作但不适用于 iPad

    在这里遇到一个奇怪的问题 我正在为我的学校项目 非商业 开发一个游戏 并且我正在使用自定义字体黑法院 http www dafont com black chancery font 根据 GNU GPL 免费 我遵循了多个来源的说明 其中包
  • Word 2016 for Mac 中的 CreateObject(“Excel.Application”)

    我有 Word 2016 VBA 代码来读取 Excel 文档中的数据 这适用于 Windows 平台 Windows 7 和 Windows 10 在 Mac 上 它失败了CreateObject Excel Application 操作
  • 子查询和相关子查询的区别

    下面的 SQL 查询是普通查询还是相关子查询 SELECT UserID FirstName LastName DOB GFName GLName LoginName LoginEffectiveDate LoginExpiryDate P
  • SqlBulkCopy,用引号引起来的字符串变量

    当尝试批量复制到 ASP NET MVC 项目中的 SQL Server 数据库时 我收到此错误 数据源中 String 类型的给定值无法转换为指定目标列的 nvarchar 类型 我查看了类似的问题 发现 1 帮助我查明了我的问题 c 无
  • Service Worker 不会缓存 Manifest start_url

    我正在使用 Lighthouse 来审核我的网络应用程序 我正在克服失败 但我坚持这一点 失败 Service Worker 未缓存 Manifest start url In my manifest json I have start u
  • 获取 RGB 颜色并使用 iPhone 上的 UIColor 对其进行标准化

    我正在寻找一种直接的方法来从 RGB 转换颜色 从 Photoshop 等工具中获取它 然后将其转换为 UIColor 由于 UIColor 对每个颜色空间使用 0 0 到 1 0 的标准化色域 因此我不确定这是如何完成的 感谢您的解决方案
  • 求圆上任意弧的长度

    我有一个有趣的 无论如何对我来说 问题 我正在 OpenServo org for V4 上工作 我正在尝试确定行进弧的长度及其方向 我有一个磁性编码器 可以返回从 0 到 4095 的轴位置 伺服系统有两个逻辑终点 称为 MAX 和 MI
  • 如何使用 JPA 和 Hibernate 映射组合键?

    在此代码中 如何为组合键生成 Java 类 how to composite key in hibernate create table Time levelStation int 15 not null src varchar 100 n
  • pthread_cond_timedwait 立即返回

    我有一个奇怪的问题 我有以下代码 dbg condwait timeout d d n abs timeout gt tv sec abs timeout gt tv nsec ret pthread cond timedwait q gt
  • Spring JavaMailSenderImpl:在哪里设置字符集?

    如果您使用 Spring JavaMailSenderImpl 您在哪里定义发送邮件所用的字符集 我们将 Spring JavaMailSenderImpl 与从 Websphere Application Server 6 1 获得的邮件
  • java中的时间同步

    在 for 循环中 我通过检索和处理车辆信息来控制基于模拟步骤的交通模拟器 SUMO 为了确保我的程序 实时 模拟 1 个模拟步骤 1 秒 我想在处理阶段之后让我的程序休眠 直到下一个时间步骤开始 为了获得更好的结果 我根据最初采用的参考时
  • ActionBar 中的 ProgressBar,例如具有刷新功能的 GMail 应用程序

    我想做与 Honeycomb 平板电脑上的 GMail 应用程序相同的事情 单击 刷新 按钮时 该图标将替换为进度条 我怎样才能做到这一点 Thanks 好吧 我尝试了 Cailean 的建议 但它对我不起作用 每次我想将不确定的进度恢复到