作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我正在制作一个 android 应用程序,并且我有一个按钮可以通向一个消息传递位置。在带有按钮的 Activity 上,我检查是否有任何未读消息,如果有,我想对按钮执行一些操作,让用户知道有未读消息。
我正在考虑让按钮水平振动,例如每 2 或 3 秒摇晃 3 次。
我知道如何在后台运行一个线程,它每 x 毫秒执行一次。但是我不知道该怎么做就是水平摇晃它3次。
有人可以帮忙吗?
我正在考虑使用 sin 函数,对于动画,我可以使用 sin 函数的输出来获取上下的值,我可以设置按钮的水平位置......但这似乎也是极端,有没有更好的方法?
最佳答案
我无法评论 @omega 的评论,因为我没有足够的声誉,但该问题的答案应该是这样的:
shake.xml
<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="100" <!-- how long the animation lasts -->
android:fromDegrees="-5" <!-- how far to swing left -->
android:pivotX="50%" <!-- pivot from horizontal center -->
android:pivotY="50%" <!-- pivot from vertical center -->
android:repeatCount="10" <!-- how many times to swing back and forth -->
android:repeatMode="reverse" <!-- to make the animation go the other way -->
android:toDegrees="5" /> <!-- how far to swing right -->
Class.java
Animation shake = AnimationUtils.loadAnimation(this, R.anim.shake);
view.startAnimation(shake);
这只是做你想做的一种方式,可能还有更好的方法。
关于android - 如何在android中为按钮设置动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18221581/
我是一名优秀的程序员,十分优秀!