Android 文字抖一抖,手机震一震!

文字抖一抖

res下定义 anim 文件在 anim 文件中定义动画

shake.xml

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="1000"
    android:fromXDelta="10"
    android:fromYDelta="0"
    android:interpolator="@anim/shake_inter">
</translate>
  • android:duration=“1000”: 动画时间
  • android:fromXDelta: X 轴左右移动 10
  • android:fromYDelta=“0” : Y 轴上下移动 0
  • android:interpolator="@anim/shake_inter" : 插值器

shake_inter,xml插值器内容:

<?xml version="1.0" encoding="utf-8"?>
<cycleInterpolator
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:cycles="7"
    ></cycleInterpolator>
  • android:cycles=“7”: 移动次数

代码使用:

 Animation animation = AnimationUtils.loadAnimation(this, R.anim.shake);
tv.startAnimation(animation);
Android 文字抖一抖,手机震一震!

手机震一震

手机震一震是 Android 自带的;

添加震一震权限:

 <uses-permission android:name="android.permission.VIBRATE"/>

使用:

// 震动效果的系统服务
Vibrator mVibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE);

// 震动的时间 方式一:
mVibrator.vibrate(2000);//振动两秒

//震动时间 方式二:
        /**
         * 对于 pattern ,如有定义为new int[200,400,600,800]
         *
         * 200:指示在打开振动器之前等待的毫秒数。0.2秒。
         * 400:表示在关闭振动器之前保持振动器处于开启状态的毫秒数,0.4秒。
         * 600,800:几毫秒之间交替,以关闭振动器或打开振动器,0.6-0.8秒。
         */
        //连续震动 3 次
       //long[] pattern = {600,800,600,800,600,800};
        //快速的震动 3 次
       long[] pattern = {200,400,200,400,200,400};
       mVibrator.vibrate(pattern, -1);

其他震一震方法:

  • mVibrator.cancel(); 关闭/停止震动
  • mVibrator.hasVibrator() 当前是否在震动状态
上一篇:[LuoguP1025][数据加强]数的划分


下一篇:实现RedHat6.3全屏,解决最大分辨率只有800*600(已安装VMware tools)