手机输入框抖动效果 和 震动效果

首先分析  输入框抖动 效果 实际上 就是一个动画  左右循环 抖动  

Animation animation = AnimationUtils.loadAnimation(this, R.anim.shake);

//下面的 可以设置 动画的 插入器  用函数来控制动画的动作

    /*                   animation.setInterpolator(new Interpolator() {

@Override
public float getInterpolation(float input) {
// TODO Auto-generated method stub
return 0;
}
});*/
edt_select_number.startAnimation(animation);

上面 2行 代码设置 动画  其中R.anim.shake  是 一个抖动动画的  xml文件  从系统中得到的  自己也可以 自定义  

R.anim.shake  

<?xml version="1.0" encoding="utf-8"?>
<!--
     Copyright (C) 2007 The Android Open Source Project

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at
  
          http://www.apache.org/licenses/LICENSE-2.0
  
     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
-->

<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="1000"
    android:fromXDelta="0"
    android:interpolator="@anim/cycle_7"
    android:toXDelta="10" />

cycle_7.xml

<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2007 The Android Open Source Project

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at
  
          http://www.apache.org/licenses/LICENSE-2.0
  
     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
-->

<cycleInterpolator xmlns:android="http://schemas.android.com/apk/res/android" android:cycles="7" />
其中  插入器可以 自定义 就相当于  初中学的函数


而对于震动效果  需要一个private Vibrator vibrator;  

vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE);  这是一个系统服务  

由于 震动效果  会影响用户的使用 所以必须 添加相应的权限  

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

 vibrator.vibrate(2000);//振动两秒钟

   //-1不重复,非-1为从pattern的指定下标开始重复

   long[] pattern = {100,200,100,200,50,50};  //这个数组  是控制  震动的变化的  

   vibrator.vibrate(pattern, 1);





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值