java - 液位动画(电池医生)

标签 java android animation opengl-es graphics2d

我想知道如何在 android 中制作这种动画(在 Battery Doctor 应用程序中也是如此)。

Animation from Battery Doctor

我找到了一种方法,使用两个不透明度为 50% 的绿色图像,一个在另一个后面,另一个在前面,以隐藏不需要的内容(圆圈),我使用 XML 为第一个绿色图像设置动画下面的代码

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<rotate
    android:duration="1850"
    android:fromDegrees="-4"
    android:pivotX="50%"
    android:pivotY="50%"
    android:repeatCount="infinite"
    android:repeatMode="reverse"
    android:interpolator="@android:anim/linear_interpolator"
    android:toDegrees="4" />
<translate
    android:fromXDelta="0"
    android:toXDelta="0"
    android:fromYDelta="0"
    android:toYDelta="1"
    android:repeatCount="infinite"
    android:repeatMode="reverse"
    android:interpolator="@android:anim/linear_interpolator"
    android:duration="1500" />

</set>

第二个绿色的是用这个:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<rotate
    android:duration="1800"
    android:fromDegrees="-1"
    android:pivotX="50%"
    android:pivotY="50%"

    android:repeatCount="infinite"
    android:repeatMode="reverse"
    android:interpolator="@android:anim/linear_interpolator"
    android:toDegrees="1" />
<translate
    android:fromXDelta="80"
    android:toXDelta="-4"
    android:fromYDelta="-1"
    android:toYDelta="1"
    android:repeatCount="infinite"
    android:repeatMode="reverse"
    android:interpolator="@android:anim/linear_interpolator"
    android:duration="1500" />

</set>

但是如何以编程方式创建 View ?我想通过代码动态设置级别。例如 myView.setLevel(45);

最佳答案

我终于找到了一个库:WaveView

https://github.com/john990/WaveView

编辑

本图书馆https://github.com/gelitenight/WaveView也用更多的功能做同样的事情。你可以:

  • 水平移动波形。
  • 设置水位。
  • 设置波浪的垂直尺寸。
  • 设置波浪的水平尺寸。

关于java - 液位动画(电池医生),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30308134/

相关文章:

java - 调试 ExceptionInInitializerError

java - 查找 Oracle 服务器中安装的 JDK 版本

android - 如何在 Jetpack Compose 中围绕 Canvas 移动矩形?

android - 防止 Android GL 上下文丢失

javascript - 如何制作一个真正的 Javascript 计时器

javascript - 选项卡上的 Angularjs 动画 1.4.7

animation - A帧、多边形动画

java - 如果服务器未响应文件下载,则返回错误消息

java - 考虑在您的配置中定义类型为 'com.gisapp.gisapp.dao.IUserDAO' 的 bean

android - 在推送通知时显示 Activity/弹出窗口,而不是状态栏中的消息