Android 状态栏动画

2023-12-13

我是 Android 新手。我想做一个电池充电动画例如,在手机中,屏幕右上角的小图标在充电时会上下移动,并在当前电池百分比处停止。

到目前为止,在我的代码中,我已经能够让它移动,但它永远不会停止。

我想要的是动画在未充电时停止或以当前电池百分比停止。

这是我在动画中的代码:

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.batteryinfo);

        ImageView batteryImage = (ImageView) findViewById(R.id.BatteryImage);
        batteryImage.setBackgroundResource(R.drawable.ic_battery_animation);

        BatteryAnimation = (AnimationDrawable) batteryImage.getBackground();
        batteryImage.post(new Starter());

        textBatteryLevel = (TextView) findViewById(R.id.batterylevel_text);

        registerBatteryLevelReceiver();
    }

    class Starter implements Runnable {

        public void run() {
            BatteryAnimation.start();
        }

    }

到目前为止,我可以获得电池状态、插头类型和电池的运行状况。


启动类还应该实现停止逻辑。 就像是:

class Starter implements Runnable {
    boolean stopConditionMet = false;
    public void run() {
        BatteryAnimation.start();
        try {
         while (!stopConditionMet) { Thread.sleep(500); } 
        } catch (InterruptedException e) {}
         BatteryAnimation.stop();

    }
    public void stop() { stopConditionMet=true; }

}

(您可以使用 wait()-notifyAll() 方案来代替繁忙等待。为了简单起见,上面的示例)。

..并且您需要将 Starter 类的实例保留在您的 Activity 中。匿名声明不允许您在需要时更改其值。

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

Android 状态栏动画 的相关文章

  • 获取当前 android.intent.category.LAUNCHER 活动的实例

    我创建了一个库项目 并在多个应用程序之间共享 我实现了一个简单的会话过期功能 该功能将在一段时间后将用户踢回到登录屏幕 登录屏幕活动是我的主要活动 因此在清单中它看起来像这样
  • 如何使用 IF 检查 TextView 可见性

    我有一个 onCheckedChangeListener 来根据选择的单选按钮显示文本视图 我有 1 个疑问和 1 个难题 想知道是否有人可以帮助我 问题 您能否将单选组默认检查值设置为 否 单选按钮 以便一开始就不会检查任何内容 问题 如
  • 在 SQLite 中搜索时排除 HTML 标签和一些 UNICODE 字符

    更新 4 我已经成功运行了firstchar例如 但现在的问题是使用regex 即使包含头文件 它也无法识别regex操作员 有什么线索可以解决这个问题吗 更新 2 我已经编译了sqlite3我的项目中的库 我现在正在寻找任何人帮助我为我的
  • 如何为俚语和表情符号构建正则表达式 (regex)

    我需要构建一个正则表达式来匹配俚语 即 lol lmao imo 等 和表情符号 即 P 等 我按照以下示例进行操作http www coderanch com t 497238 java java Regular Expression D
  • 如何使用InputConnectionWrapper?

    我有一个EditText 现在我想获取用户对此所做的所有更改EditText并在手动将它们插入之前使用它们EditText 我不希望用户直接更改中的文本EditText 这只能由我的代码完成 例如通过使用replace or setText
  • 在两个活动之间传输数据[重复]

    这个问题在这里已经有答案了 我正在尝试在两个不同的活动之间发送和接收数据 我在这个网站上看到了一些其他问题 但没有任何问题涉及保留头等舱的状态 例如 如果我想从 A 类发送一个整数 X 到 B 类 然后对整数 X 进行一些操作 然后将其发送
  • getResourceAsStream() 可以找到 jar 文件之外的文件吗?

    我正在开发一个应用程序 该应用程序使用一个加载配置文件的库 InputStream in getClass getResourceAsStream resource 然后我的应用程序打包在一个 jar文件 如果resource是在里面 ja
  • 仅将 char[] 的一部分复制到 String 中

    我有一个数组 char ch 我的问题如下 如何将 ch 2 到 ch 7 的值合并到字符串中 我想在不循环 char 数组的情况下实现这一点 有什么建议么 感谢您花时间回答我的问题 Use new String value offset
  • 我的设备突然没有显示在“Android 设备选择器”中

    我正在使用我的三星 Galaxy3 设备来测试过去两个月的应用程序 它运行良好 但从今天早上开始 当我将设备连接到系统时 它突然没有显示在 Android 设备选择器 窗口中 我检查过 USB 调试模式仅在我的设备中处于选中状态 谁能猜出问
  • Android向menuItem添加子菜单,addSubMenu()在哪里?

    我想根据我的参数以编程方式将 OptionsMenu 内的子菜单添加到 menuItem 中 我检查了android sdk中的 MenuItem 没有addSubMenu 方法 尽管你可以找到 hasSubMenu 和 getSubMen
  • .isProviderEnabled(LocationManager.NETWORK_PROVIDER) 在 Android 中始终为 true

    我不知道为什么 但我的变量isNetowrkEnabled总是返回 true 我的设备上是否启用互联网并不重要 这是我的GPSTracker class public class GPSTracker extends Service imp
  • 如何在桌面浏览器上使用 webdriver 移动网络

    我正在使用 selenium webdriver 进行 AUT 被测应用程序 的功能测试自动化 AUT 是响应式网络 我几乎完成了桌面浏览器的不同测试用例 现在 相同的测试用例也适用于移动浏览器 因为可以从移动浏览器访问 AUT 由于它是响
  • 玩!框架:运行“h2-browser”可以运行,但网页不可用

    当我运行命令时activator h2 browser它会使用以下 url 打开浏览器 192 168 1 17 8082 但我得到 使用 Chrome 此网页无法使用 奇怪的是它以前确实有效 从那时起我唯一改变的是JAVA OPTS以启用
  • simpleframework,将空元素反序列化为空字符串而不是 null

    我使用简单框架 http simple sourceforge net http simple sourceforge net 在一个项目中满足我的序列化 反序列化需求 但在处理空 空字符串值时它不能按预期工作 好吧 至少不是我所期望的 如
  • 获取 JVM 上所有引导类的列表?

    有一种方法叫做findBootstrapClass对于一个类加载器 如果它是引导的 则返回一个类 有没有办法找到类已经加载了 您可以尝试首先通过例如获取引导类加载器呼叫 ClassLoader bootstrapLoader ClassLo
  • 如何确定对手机号码的呼叫是本地呼叫还是 STD 或 ISD

    我正在为 Android 开发某种应用程序 但不知道如何获取被叫号码是本地或 STD 的号码的数据 即手机号码检查器等应用程序从哪里获取数据 注意 我说的是手机号码 而不是固定电话 固定电话号码 你得到的数字是字符串类型 因此 您可以获取号
  • 静态变量的线程安全

    class ABC implements Runnable private static int a private static int b public void run 我有一个如上所述的 Java 类 我有这个类的多个线程 在里面r
  • 在 Maven 依赖项中指定 jar 和 test-jar 类型

    我有一个名为 commons 的项目 其中包含运行时和测试的常见内容 在主项目中 我添加了公共资源的依赖项
  • 实现滚动选择 ListView 中的项目

    我想使用 ListView 您可以在其中滚动列表来选择一个项目 它应该像一个 Seekbar 但拇指应该是固定的 并且您必须使用该栏来调整它 我面临的一个问题是 我不知道这种小部件是如何调用的 这使得我很难搜索 所以我制作了下面这张图片 以
  • 当我从 Netbeans 创建 Derby 数据库时,它存储在哪里?

    当我从 netbeans 创建 Derby 数据库时 它存储在哪里 如何将它与项目的其余部分合并到一个文件夹中 右键单击Databases gt JavaDB in the Service查看并选择Properties This will

随机推荐

  • 如何截取 WPF 控件的屏幕截图?

    我使用 Bing 地图 WPF 控件创建了一个 WPF 应用程序 我希望能够仅截取 Bing 地图控件的屏幕截图 我使用这段代码来制作屏幕截图 Store the size of the map control int Width int
  • 从 procedure 形式转换为 let 形式

    我在scheme中编写了这个程序形式的代码 我需要将其更改为let形式 这是程序表单代码 define PI 3 14159265 define areac lambda d PI d 2 d 2 define volumec lambda
  • 如何使用 FQL 获取未读消息?

    我正在尝试获取所有未读收件箱的正文和发件人 为了获取所有带有未读消息的对话线程 我使用了以下查询 SELECT thread id from unified thread WHERE folder inbox AND unread 1 为了
  • Sed regexp 寻找空格或行尾

    我正在尝试检测包含三个部分的模式 A space m 或 t 空格或行尾 我想保留 2 和 3 例如 我想改变 我确信他没有 to 我确信他不会 我很难表达 3 因为 似乎只匹配空格 而不匹配行尾 这是我尝试过的 echo i m sure
  • 在 WebSphere 8.5 上使用 JASPIC 身份验证模块

    我有一个 JASPIC 身份验证模块 它在 GlassFish WildFly 和 WebLogic 上运行得非常好 现在我们有一个使用 WebSphere 8 5 的新客户 我无法让 auth 模块在那里正常运行 问题是 WebSpher
  • 与 PrimeFaces Converter 混淆(因为它适用于 selectOneMenu)

    AutoComplete demo 中 PlayersConverter 的实现实际上不仅充当转换器 还充当玩家列表的加载器 我对这个模型有点厌倦 因为加载已经在我的项目中实现了 我不明白为什么 Converter 接口没有作为模板实现 C
  • R 中的错​​误...缺少需要 TRUE/FALSE 的值[重复]

    这个问题在这里已经有答案了 以下是我的 R 脚本的一部分 for i in 1 N 1 if 50
  • Magento 管理网格将数据从 Action 发送到 Controller

    我正在尝试编写一个自定义操作来运行我构建的管理网格 是否可以通过 get 或 post 将网格中的列中的值发送到控制器 我尝试过谷歌搜索 但在任何地方都找不到正确的解释 如果可用的话 指向列设置 getter type 等 说明的链接也会很
  • 我应该何时为导出到 BigQuery 的 Firebase Analytics 数据运行每日 ETL 作业?

    我们使用 Firebase Analytics 从我们的应用收集事件 我们已启用将事件导出到 BigQuery 我们每天都会运行一些 ETL 作业 以便在 BigQuery 中创建更友好的分析表 例如会话 购买 问题是我们什么时候应该运行这
  • 通用 F# 函数:如何获取 F# 可辨别联合的类型?

    代码示例 http www tryfsharp org create dutts Generics fsx 我的 F 中有一些映射代码 它采用 C 对象并将其包装在可区分联合中 module MyModule type MappedThin
  • 在 PHP 中保护文件上传的好方法

    编写一个小应用程序 除其他事项外 让用户上传文件 例如图像 doc 或文本文件 作为他们发布 提交的一部分 我们当前的原型只是将文件转储到 app root 文件 但是当然 即使没有登录或使用该系统 任何人都可以访问该内容 目标是仅授予访问
  • 计算天、小时和分钟的时间差

    更新 我正在更新问题以反映完整的解决方案 使用下面提到的 time diff gem Brett 以下代码有效 code cur time Time now strftime Y m d H M Time diff Time parse 2
  • 如何精确匹配整个文档?

    精确匹配子文档很容易 但是有没有办法精确匹配集合中的整个文档 我有很多包含相似数据的文档 我只需要精确匹配 不需要额外的数据 使用负 exists 对我不起作用 因为我事先不知道所有可能的字段 我认为这不可能完全实现 但一个可能的解决方案是
  • 日志在生产中无法正常工作,作业延迟

    我遇到了一些奇怪的问题 我的delayed jobs 在生产中失败 最后我将范围缩小到记录器 如果我注释掉我的日志函数调用 一切都会正常 但是 如果我尝试记录 我会在delayed job处理程序中得到这个 ruby struct Dela
  • 通用静态字段初始化

    我只是对以下代码感到好奇 public static class Container
  • Swift 4 中的 UIButton 数组

    我用 UIButtons 在 UiKit 中制作了一系列复选框 IBOutlet weak var Box1 UIButton IBOutlet weak var Box2 UIButton IBOutlet weak var Box3 U
  • 如何摆脱 Chrome 控制台中的 [VM] 行?

    现在我可以在我的 chrome 开发者工具中看到有关 VM 的信息 如下所示 我找到了一些解决方案 例如将 暂停按钮 设为灰色 但是 它在我的开发工具中已经是灰色的 这对我来说也不起作用 如何消除控制台中的虚拟机消息 感谢您阅读我的问题 右
  • 当我尝试启动 jetty 时,为什么 lambda 表达式会破坏 guice 错误处理?

    我在尝试启动 jetty 时遇到以下问题 出现以下异常 Execution default test of goal org apache maven plugins maven surefire plugin 2 17 test fail
  • Xcode 中的 EXC_BAD_ACCESS 中断?

    我对 iPhone 开发和 Xcode 不太熟悉 不知道如何开始排除故障EXC BAD ACCESS信号 如何让 Xcode 在导致错误的确切行处中断 我似乎无法让 Xcode 在导致问题的线路上停止 但我确实在调试控制台中看到以下几行 1
  • Android 状态栏动画

    我是 Android 新手 我想做一个电池充电动画例如 在手机中 屏幕右上角的小图标在充电时会上下移动 并在当前电池百分比处停止 到目前为止 在我的代码中 我已经能够让它移动 但它永远不会停止 我想要的是动画在未充电时停止或以当前电池百分比